Autor Zpráva
Manny
Profil *
Ahoj řeším následující problém: Mám menu a submenu, napři když kliknu na položku "Menu", vyjede mi po onclicku nabídka "submenu1","submenu2","submenu3". Tohle mi víceméně funguje. Problém ovšem je, když chc takových položek menu se submenu mít více.

function onClickVirt() {

  var idArr = new Array('box1','box2');
  var i;
  
  
  
  for (i in idArr) {
  	var on = getCookieValue(idArr[i]);
    if (on == 0) setCookieValue(idArr[i], 0);
    display(document.getElementById(idArr[i]), on);
  }
}


<div class="menu_item2">
              <a href="#" onclick="change(\'box1\');return false">'.$rubrika["nazev"].'</a>
            </div>';


Tady je problém, že jsou definovány "boxy", pro které rozevírací menu bude aktivní, a já bych potřeboval poradit, jak udělat to, abych nemusel definovat "box1","box2", ale např. box.'i' - nebo něco podobného s proměnnou, aby mi to fungovalo pro všechny menu se subnabídkou.

Omlouvám se za možná trochu krkolomné vysvětlení problému, ale snad mi nějaká dobrá duše poradí:)
Str4wberry
Profil
Neměl bys živou ukázku současného stavu, nějak si to neumím pořádně představit.
Manny
Profil *
Str4wberry
díky ;)

http://rd.yc.cz/amaron/used/de/rubriky/cnc/

jsou tu 2 sekce, které obsahují podsekce: SEKCE1 a SEKCE3. SEKCE1 obsahuje tyto podsekce: subSEKCE 1 a subSEKCE 2. SEKCE3 obsahuje tuto podsekci: subSEKCE 3.

Problém je, že mě se zobrazuje vždy je jedna ta rozklikávací nabídka - je to způsobeno tím, že si musím nadefinovat tady:
var idArr = new Array('box1');
, kolik těch podnabídek (subsekcí - v tuto chvíli mám 2 - u SEKCE1 a SEKCE3) budu mít. No ale to právě nevím, bude jich tolik, kolik si jich uživatel založí. A já právě nevím, jak tenhle problém vyřešit :/

Díky za všechny rady;)
habendorf
Profil
Šel bych na to úplně jinak. Udělal bych všechny sekce rozbalené a skryl je pomocí css. Na kliknutí bych měnil className příslušné položky a pomocí této class zajistil v css zviditelnění.
Str4wberry
Profil
Reakce na Mannyho:
Udělej to přesně podle habendorfa — dobře se to bude dělat se seznamem <ul> + uložení sušenky. Při výpisu můžeš zajistit rozbalenost/sbalenost už pomocí PHP.
Manny
Profil *
habendorf
Str4wberry
nemohli byste mi prosím kouskem kódu naznačit jak na to? ...není mi tam jasné to zviditelňování a skrývání
Str4wberry
Profil
Má to dost nedostatků, ale velmi zjednodušeně takto:
<style>
ul li ul {display: none}
ul li.viditelna ul {display: block}
</style>

<ul>
  <li onclick="this.className = 'viditelna'; return false"><a href="#">První úroveň</a>
    <ul>
      <li><a href="#">Druhá úroveň</a>
    </ul>
  <li><a href="#">První úroveň</a>
</ul>

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: