21. december 2001 - 09:58Der er
17 kommentarer og 1 løsning
Menu bygget op over childs
Jeg har en menu som er bygget op over childs. Hver child indeholder en variable som fortæller om den er foldet ud eller ej. Hver child har også en unik id.
Jeg kunne godt tænke mig at få lavet en funktion som når folder et punkt ud, folder alle andre punkter ind.
Menuen er bygget således at der kan være et ubestemt nummer af childs og et ubestemt nummer af childs på childs.
Hvis du/i har behov for at se dele af koden, så bare spørg.
tobias_cool: Menuen er lavet udelukekt i JavaScript. Dette er gjort, for at siden ikke skal reloades og derved belaste serveren hver gang en bruger bruger menuen.
kasseper: jeg er ike sikekr på hvad du mener, men jeg håber dette kan svare på spørgsmålet: var julemand julemand.child[0] julemand.child[0].child[0] julemand.child[1]
function Node_childs() { return this.child.length; }; function Node_movefirst() { this.cchild = 0; }; function Node_movenext() { this.cchild++; }; function Node_notlastchild() { if ( this.cchild < this.childs() ) return 1; else return 0; }; function Node_getchild() { return this.child[this.cchild]; };
function findnode(node,name) { if ( node.name == name ) return node; if ( node.childs() > 0 ) { for (node.movefirst(); node.notlastchild() ; node.movenext() ) { temp = findnode(node.getchild(),name); if ( temp != null ) { return temp; } } } return null; };
var menu = new Node(\"NAVN\",\"URL\"); menu.child[0] = new Node(\"NAVN\",\"URL\"); menu.child[0].child[0] = new Node(\"NAVN\", \"URL\"); menu.child[0].child[0].child[0] = new Node(\"NAVN\", \"URL\");
Det er nok ikke andet, end at du bare skal køre en løkke, som løber alle childs igennem og tildeler dem en værdi, der siger, at de er foldet ind, og så til sidst kalde updatemenu(); Desværre har du ikke inkluderet funktionen updatemenu() i den kode, du viser, så det er lidt svært at sige. Det ville være nemmest med en URL!
Min idé er således (jeg har ikke tid til at granske din kode for de rigtige navne til variablerne):
for (i = 0; i < antalChilds; i++) { childNavn.foldetUd = false; } updatemenu();
phoenixv: Sorry, jeg havde overset du spurte efter en url. Jeg kan desvære ikke give dig sådan, da siden ligger på en intranet server, bag vores firewall.
Synes godt om
Slettet bruger
21. december 2001 - 16:12#14
Kan du så ikke bare smide et eksempel af scriptet i funktion ud på friserverplads.dk eller noget lignende?
Jeg har fået løst mit problem, dog valgte jeg at skrive koden om helt fra bunden.
Menuen er nu bygget op over at man add\'er child\'s via en function. På denne måde får man mulighed for at i hvert parent at holde styr på hvilket childs den har og hvilken af dem der skal være udfoldet.
Hvis i gerne vil se koden, så sig til, så smider jeg den her ud :-)
Skal til at lave en XML - menu i JS og vil da gerne have lidt input fra nogen som har lavet en før ... Den menu jeg skal have strikket sammen skal være dynamisk så man til tilknytte og fjerne punkterne OnTheFly ;-) så hvis du havde lidt kode til inspiration ville det da være dejligt ! /mvh KLA@
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.