17. december 2004 - 18:23Der er
6 kommentarer og 1 løsning
Simpelt hierakisk tree menu, som er søgemaskine venlig?
Hejsa
Jeg sidder og prøver at på at lave en hierakisk "tree menu", altså en hvor man kan åbne og lukker undermenuer. Jeg har fundet en masse koder, som er ret indviklet, og virker rigtig godt. Der er bare det ene lille men, at en søgemaskine ikke kan se linkene, hvilket ikke ligefrem er så fedt.
Jeg kunne godt tænke mig bare at lave min egen, men så skarp er jeg heller ikke til Javascript, så jeg kan finde ud af det.
Mit spørgsmål er ikke så meget om der er nogle der gider lave det for mig, (selvom det er ok :), men mere henvisning til en guide, der kan lære mig det, så jeg selv ved hvad der sker.
Det den skal kunne er:
* Uendelig mange submenuer * Mulighed for nemt at lave menuen udfra en database via PHP * Gerne gemme "current state" i cookies, således så menuerne forbliver åbne ved side skift
Er der nogle der har set en sådan howto/guide, så vil jeg meget gerne høre om den.
Pillede lidt tidligere i år i een, som var skabt af en af de mere kendte javascriptere herinde, og jeg kan da afsløre, at du skal rigtig langt ud i noget særdeles kompliceret kode, og tage højde for utallige små detaljer ...
-- den var baseret på et objekt, hvilket nok også er vejen frem, selv når der principielt kun er een på en side !o]
<script type="text/javascript"> function toggleDiv(divName) { var thisDiv = document.getElementById(divName); if (thisDiv) thisDiv.style.display = !thisDiv.offsetWidth ? "block" :"none"; else alert("Error: Could not locate div with id: " + divName); } </script>
<script type="text/javascript"> function toggleDiv(divName) { var thisDiv = document.getElementById(divName); if (thisDiv) thisDiv.style.display = !thisDiv.offsetWidth ? "block" :"none"; else alert("Error: Could not locate div with id: " + divName); } </script>
Jo, det virker lige som det jeg selv lavede. Hele mit problem lige nu, er at få lavet så der bliver gemt en cookie, så menuen er den samme efter et side skift.
Joo ... det er da en begyndelse ... afhængigt af, hvad den skal kunne og hvordan :)
Lige et par detaljer: ostehamster >> Man skal aldrig bruge JavaScript pseudo-protokollen i en event-handler. Den kan til nød bruges i et link's href, men det er yderst sjældent, det er nødvendigt. Sådan bør du nok skrive: <li><a href="#" onclick="toggleDiv('menu1');return false">Menu 1</a></li>
clansite.dk >> Fidusen ved at have et link i stedet for et anker-element, er, at du kan lave hoover-effekter på et link - det kan du ikke på et anker :)
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.