Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z obudowaniem kodu w pętle
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Krisu
Witam, od kilku dobrych godzin próbuję obudować poniższy kod w pętlę. Dodam, że po całości rozpisany działa idealnie, a gdy zamykam w pętle to się wysypuje... nie mam pomysłu co może być przyczyną.

Kod
var ile = '1'; //ile wierszy pokazać

        $('#zwijana_0 tbody tr:nth-child('+ile+')').nextAll().hide();
            
        $('.przycisk_0').toggle(function(){
            $('#zwijana_0 tbody tr:nth-child('+ile+')').nextAll().show();
            return false;
        },
        function(){    
            $('#zwijana_0 tbody tr:nth-child('+ile+')').nextAll().hide();
            return false;
        });



        $('#zwijana_1 tbody tr:nth-child('+ile+')').nextAll().hide();
            
        $('.przycisk_1').toggle(function(){
            $('#zwijana_1 tbody tr:nth-child('+ile+')').nextAll().show();
            return false;
        },
        function(){    
            $('#zwijana_1 tbody tr:nth-child('+ile+')').nextAll().hide();
            return false;
        });


        $('#zwijana_2 tbody tr:nth-child('+ile+')').nextAll().hide();
            
        $('.przycisk_2').toggle(function(){
            $('#zwijana_2 tbody tr:nth-child('+ile+')').nextAll().show();
            return false;
        },
        function(){    
            $('#zwijana_2 tbody tr:nth-child('+ile+')').nextAll().hide();
            return false;
        });



Kod
for(var count=0; count<=$("div#sites table").length-1; count++) {

        $('#zwijana_'+count+' tbody tr:nth-child('+ile+')').nextAll().hide();
            
        $('.przycisk_'+count+'').toggle(function(){
            $('#zwijana_'+count+' tbody tr:nth-child('+ile+')').nextAll().show();
            return false;
        },
        function(){    
            $('#zwijana_'+count+' tbody tr:nth-child('+ile+')').nextAll().hide();
            return false;
        });
};


sprawdzałem w konsoli i iteruje poprawnie

Kod
console.log(count);


Pomóżcie proszę, bo już nie mam pomysłu, gdzie może być przyczyna tego problemu.
gitbejbe
wrzuć to na https://jsfiddle.net/
Krisu
Coś takiego https://jsfiddle.net/gqyLrLnr/1/ ale nie wiem czemu automatycznie się wszystko zwija, na stronie nie mam takiego problemu...
gitbejbe
co w ogóle chcesz uzyskać ? Domyślam się, że w zmiennej 'ile' podajesz ilość do pokazania, resztę w tabeli zamykasz. Jeśli chodzi o to to Twój skrypt jest strasznie przekombinowany Do czego to ma służyć ?

nie wiem czy tego oczekujesz, ale mimo wszystko zobacz, że można zrobić to o wiele prościej i krócej: https://jsfiddle.net/gqyLrLnr/5/
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.