WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   Tree/Accordion Meny (https://www.wn.se/forum/showthread.php?t=27312)

editman 2008-02-20 08:37

Hej!

Jag behöver hjälp med en meny jag har skapat på www.ergona.se/sortiment.aspx

Den fungerar bra, problemet är att jag vill att den stannar öppen när man klickar på
någon utav undermenyerna, samtidigt som det innehållet visas till vänster.

Alltså, att den inte kollapsar när man klickar på någon av undermenyerna.

Har försökt med ett antal olika alternativ, men inget har fungerat, något tips?

MMC 2008-02-20 09:45

Eftersom du laddar en ny sida när man klickar på en länk, kommer menyn att återställas eftersom javascriptet körs från början.

Du skulle kanske kunna ge varje kategori ett ID, som du sedan lägger till som ett ankare till varje länk du har under den kategorin. Slutligen kör du en funktion onload som kollar om det finns ett ankare, om innehållet motsvarar ett ID i menyn, och i så fall expanderar den kategorin.

Förstår du hur jag menar?

editman 2008-02-20 10:08

Förstår principen, men är inte så erfaren på att skriva javascript, har du något exempel på kod?

Tack för svaret förresten!

MMC 2008-02-20 10:38

Låt säga att din meny ser ut så här:
Kod:

<dl id="accordion">
 * <dt id="category_1">Arbetsstolar</dt>
 * <dd>...
 * * *<a href="...#category_1">Stol med fyra ben</a>
 * * *<a href="...#category_1">Stol med armstöd</a>
 * ...</dd>
 * <dt id="category_2">Arbetsbord</dt>
 * <dd>...</dd>
</dl>

Då kan du göra något liknande det här i window.onload:
Kod:

var id = location.hash.substring(1);
if (document.getElementById(id)) {
 * /* ... expandera kategorin ... */
}

Skrev det här ur minnet, så något är säkert fel. Och du måste så klart lägga till feltolerans för andra ankare och tomma ankare, etc.

editman 2008-02-21 13:00

Har försökt lite, men som sagt, jag har inte så stor erfarenhet av att skriva javascript, här är min kod http://www.ergona.se/js/accordion-menu-v2.js

vad är det jag ska ändra på?


Alla tider är GMT +2. Klockan är nu 19:59.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson