Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] czego nie widać efektu rozwijania?
Forum PHP.pl > Forum > Po stronie przeglądarki
shpyo
Witam,
piszę sobie skrypcik, który będzie mi rozsuwał pozycje w menu (po wcześniejszym kliknięciu).
Wszystko jak narazie szło dobrze, aż do momentu, gdzie nie widać "rozsuwania" menu...

kod funkcji która powinna "rozwijać" menu

Kod
function rozwin( id ) {

   if( id <= 5 ) {

      if(document.getElementById(id).style.display == 'block') {
         document.getElementById(id).style.display = 'none';
      } else {
         document.getElementById(id).style.display = 'block';
      }
    
      setTimeout( rozwin( ( id+1 ) ) , 1000 ); //co jedną sekundę

   }

}


i przykładowy kod:

Kod
<a href="javascript:rozwin(1);">kliknij</a>
<div id="1" style="display:none;">sdsd</div>
<div id="2" style="display:none;">sdsd</div>
<div id="3" style="display:none;">sdsd</div>
<div id="4" style="display:none;">sdsd</div>
<div id="5" style="display:none;">sdsd</div>



funckja rozwin() teoretycznia powinna dawać efekt rozwijania menu, jednak tak nie jest, wie ktoś dlaczego?
nospor
lekka przeróbka:
Kod
function rozwin( id ) {
  if( id <= 5 ) {

     if(document.getElementById(id).style.display == 'block') {
        document.getElementById(id).style.display = 'none';
     } else {
        document.getElementById(id).style.display = 'block';
     }
    
     setTimeout('rozwin('+(id+1)+')' , 1000); //co jedną sekundę

  }

}

dziala biggrin.gif
shpyo
dzięki, działa.
Jednak możesz mi powiedzieć, czego trzeba było dać nazwę funkcji jako stronga?
nospor
takie są wymagania funkcji setTimeout. Poczytaj se o niej
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.