Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jquery]Optymailzacja kawałka kodu
Forum PHP.pl > Forum > Po stronie przeglądarki
mempty
Witam,
Wiecie może jak skrócić ten kawałek kodu w jquery:

Kod
    $(document).ready(function(){
             $("#vmt1").click(function(){
                  $("#amenu1").toggle();
                 });
             $("#vmt2").click(function(){
                  $("#amenu2").toggle();
                 });            
             $("#vmt3").click(function(){
                  $("#amenu3").toggle();
                 });            
             $("#vmt4").click(function(){
                  $("#amenu4").toggle();
                 });  
    });


Ja próbowałem chociażby tak:

Kod
    $(document).ready(function(){
        for (var i=0;i<5;++i) {
             $("#vmt"+i).click(function(){
                  $("#amenu"+i).toggle();
                 });
           }
    });


Lecz nie działa, już nigdzie nie znajdę pomocy jak nie tutaj
Pozdrawiam
kamilkosinski
1. http://groups.google.com/group/jquery-en/m...ba068a8ace7a3fb - to powinno trochę wyjaśnić
2. pętla powinna być od 1
3. np. tak powinno zadzialac:
Kod
   for( var i = 1; i < 5; ++i ) {
       $( '#vmt' + i ).click(function( e ) {
           $( '#amenu' + this.id.split( 'vmt' )[1] ).toggle();
       } );
   }
mempty
Wielkie dzięki. Działa jak należy. Muszę więcej poczytać o jquery żeby w przyszłości nie było wątpliwości smile.gif
siemakuba
Możesz tak:
Kod
$(document).ready(function(){
    $('[id^=vmt]').each(function(e){
        var i = $(this).attr('id').replace('vmt','');
        $(this).bind('click', function(){
            $('#amenu'+i).toggle();
        });
    });
});


pozdr.
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.