Goeiesavonds,
Voor de gein heb ik eens geprobeerd om wat zinnigs uit te halen met objecten in JS, en met recursieve functies. Ik had mezelf daar nog nooit echt in verdiept, en het leek me leuk om een soort van hierarchisch menu te maken, dat layers showt en hidet enzo.
Dit menu moet alle hoofdmenu-opties weergeven, en na het klikken op een menuitem moeten alle childs van de betreffende menuitem zichtbaar worden. Alle childs van andere menuopties moeten weer verdwijnen.
Enniewee, het is allemaal hier te zien: http://jj.upnet.nl/pelleDynMenu/
Ik ga de source niet hier posten, daar is het een veel te grote lap voor, maar ik heb in commentaar in ieder geval de (beoogde) werking neergezet, zodat jullie mijn onbegrijpelijke code wellicht nog een beetje kunnen snappen
Dit werkt perfect zoals ik zou willen. Geen probleem dus. Maar er treedt iets geks op wanneer je de dubbele slash voor menuItems["verhaaltje"].addChild("nee","http://www.nee.com"); weghaalt.
Om te kijken waar het probleem zat, heb ik her en der wat alert's geplaatst, en het blijkt dat de functie getSubs een onbekend object teruggeeft, en de functie hideLayer kan die dus niet hiden en dat genereert de foutmelding.
In regel 136 kan je ook de // (voor alert, in de functie hideSubItems) even weghalen om te zien welke zaken die functie retourneert.
Probeer dat maar eens zonder en met die child genaamd 'nee'. In het eerste geval gaat alles goed, in het tweede geval wordt er een undefined ge-alert.
* Pelle vind dit raar
Nog even wat puntjes:
* gebouwd op en getest in IE5.5
* alle code is gewoon te kopieren en in homesite of whatever te plakken om te kunnen testen, er wordt geen gebruik gemaakt van externe scripts of stylesheets.
Alle commentaar is natuurlijk welkom, ik kan me voorstellen dat mijn manier heel erg amateuristisch is, maar dat moeten jullie me maar vergeven.
Degene met de oplossing voor het probleem mag een biertje komen drinken hier
/edit
Klik maar eens even wat op about, en dan op fotos, en dan op contact ofzo, en weer terug om te kijken hoe ik vind dat het moet werken. Dit gaat dus fout wanneer die child van 'verhaaltje' (naam: 'nee') wordt toegevoegd.
Voor de gein heb ik eens geprobeerd om wat zinnigs uit te halen met objecten in JS, en met recursieve functies. Ik had mezelf daar nog nooit echt in verdiept, en het leek me leuk om een soort van hierarchisch menu te maken, dat layers showt en hidet enzo.
Dit menu moet alle hoofdmenu-opties weergeven, en na het klikken op een menuitem moeten alle childs van de betreffende menuitem zichtbaar worden. Alle childs van andere menuopties moeten weer verdwijnen.
Enniewee, het is allemaal hier te zien: http://jj.upnet.nl/pelleDynMenu/
Ik ga de source niet hier posten, daar is het een veel te grote lap voor, maar ik heb in commentaar in ieder geval de (beoogde) werking neergezet, zodat jullie mijn onbegrijpelijke code wellicht nog een beetje kunnen snappen
Dit werkt perfect zoals ik zou willen. Geen probleem dus. Maar er treedt iets geks op wanneer je de dubbele slash voor menuItems["verhaaltje"].addChild("nee","http://www.nee.com"); weghaalt.
Om te kijken waar het probleem zat, heb ik her en der wat alert's geplaatst, en het blijkt dat de functie getSubs een onbekend object teruggeeft, en de functie hideLayer kan die dus niet hiden en dat genereert de foutmelding.
In regel 136 kan je ook de // (voor alert, in de functie hideSubItems) even weghalen om te zien welke zaken die functie retourneert.
Probeer dat maar eens zonder en met die child genaamd 'nee'. In het eerste geval gaat alles goed, in het tweede geval wordt er een undefined ge-alert.
* Pelle vind dit raar
Nog even wat puntjes:
* gebouwd op en getest in IE5.5
* alle code is gewoon te kopieren en in homesite of whatever te plakken om te kunnen testen, er wordt geen gebruik gemaakt van externe scripts of stylesheets.
Alle commentaar is natuurlijk welkom, ik kan me voorstellen dat mijn manier heel erg amateuristisch is, maar dat moeten jullie me maar vergeven.
Degene met de oplossing voor het probleem mag een biertje komen drinken hier
/edit
Klik maar eens even wat op about, en dan op fotos, en dan op contact ofzo, en weer terug om te kijken hoe ik vind dat het moet werken. Dit gaat dus fout wanneer die child van 'verhaaltje' (naam: 'nee') wordt toegevoegd.