2013-06-18 15 views
7

Witam Szukałem trochę w Internecie, ale nie znalazłem tego, czego szukałem. Ale w każdym razie, to, czego szukam, to coś takiego, że jeśli element jest ukryty, to wykona akcję, a jeśli element jest widoczny, to zrobi kolejną akcję. W tym przypadku buduję menu pokaz/ukryj, po kliknięciu ikony menu (z klasą ".toggle") zmieni się krycie na 1, a po ukryciu menu przezroczystość ikon zmieni się ponownie na 0.6 .Jquery: jeśli element jest ukryty, wykonaj czynność?

Oto mój kod i tak:

$(".sidebar_menu").hide(); 
$(".sidebar li.toggle").click(function(){ 
$(".sidebar_menu").animate({width: "toggle"}, 200); 
// Here's where the code I can't figure out is gonna be. 
}); 

Hope you guys chce mi pomóc, to byłoby miło! Dziękuję Ci.

+0

Niestety można opracować na problemie ? Być może pokazując przykład na www.jsfiddle.net? – cgatian

Odpowiedz

9

działa to dla hidden i visible elementów:

$(".sidebar_menu").hide(); 
$(".sidebar li.toggle").click(function(){ 
    $(".sidebar_menu").animate({width: "toggle"}, 200, 
    function() { 
     if($(this).is(':visible')){ 
     $(".toggle").css({opacity: 1}); 
     } else if ($(this).is(':hidden')) { 
     $(".toggle").css({opacity: 0.6}); 
     }; 
    }) 
    }); 
}); 

Edit: z .toggle()

$(".sidebar_menu").hide(); 
$(".sidebar li.toggle").click(function(){ 
    $(".sidebar_menu").toggle('slow', 
    function() { 
     if($(this).is(':visible')){ 
     $(".toggle").css({opacity: 1}); 
     } else if ($(this).is(':hidden')) { 
     $(".toggle").css({opacity: 0.6}); 
     }; 
    }) 
    }); 
}); 

Tu zobaczysz mały przykład: FIDDLE

+0

Wygląda na to, że z tym jest Transformers (bardziej niż na pierwszy rzut oka) Jestem pewien, że powiedzenie .is (": visible") będzie działało, ale jestem gotów założyć się, że jest coś więcej. – cgatian

+0

Po prostu dał mi błąd:/ –

+0

nadal? Edytowałem swoją odpowiedź. – supersize

Powiązane problemy