2013-06-18 9 views
7

Hallo Ich habe ein wenig im Internet gesucht, aber nicht gefunden, wonach ich eigentlich gesucht habe. Wie auch immer, was ich suche, ist wie wenn ein Element versteckt ist, dann wird es eine Aktion machen, und wenn das Element sichtbar ist, wird es eine andere Aktion machen. In diesem Fall baue ich ein Menü zum Ein-/Ausblenden, wenn du auf das Menüsymbol (mit der Klasse ".toggle") klickst, wird die Opazität auf 1 geändert, und wenn du das Menü verdeckst, ändert sich die Deckkraft des Symbols wieder auf 0.6 .Jquery: Wenn das Element ausgeblendet ist, Aktion ausführen?

Hier ist mein Code sowieso:

$(".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. 
}); 

hoffe, euch will mir helfen, wäre es schön! Vielen Dank.

+0

Sorry, Sie das Problem erarbeiten könnte ? Möglicherweise ein Beispiel auf www.jsfiddle.net zeigen? – cgatian

Antwort

9

das funktioniert für hidden und visible Elemente:

$(".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: mit .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}); 
     }; 
    }) 
    }); 
}); 

Hier können Sie ein kleines Beispiel zu sehen: FIDDLE

+0

Es scheint, als ob es Transformers mit diesem gibt (mehr als man sieht) Ich würde sicher sagen .is (': visible') würde funktionieren, aber ich bin bereit zu wetten, dass da noch mehr ist. – cgatian

+0

Es gab mir nur einen Fehler:/ –

+0

immer noch? Ich habe meine Antwort bearbeitet. – supersize