2013-06-18 43 views
7

Merhaba İnternette biraz aradım ama aslında aradığım şeyi bulamadım. Ama neyse, aradığım şey, eğer bir eleman gizlendiyse, sanki bir eylem yapacakmış gibi, ve eğer eleman görünürse, başka bir eylem yapacak. Bu durumda, menü simgesini tıklattığınızda (".toggle" sınıfı ile) menü simgesini tıklattığınızda, bir gösterme/gizleme menüsü yapıyorum. Bu, opaklığı 1 olarak değiştirecek ve menüyü gizlediğinizde, simge opaklığı tekrar 0,6 olarak değişir. .Jquery: Eğer eleman gizlenmişse, harekete geçin?

İşte benim kod zaten var:

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

iyi olurdu, çocuklar Bana yardım etmek Umut! Teşekkür ederim.

+0

Maalesef ? Www.jsfiddle.net üzerinde bir örnek gösteriliyor olabilir mi? – cgatian

cevap

9

bu hidden ve visible elemanları için çalışır:

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

Düzenleme: İşte

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

.toggle() ile küçük bir örneğe bakın: Eğer sorun üzerinde durmak olabilir FIDDLE

+0

Bunun ile Transformers var gibi görünüyor (göze daha fazla) Ben eminim .is (': görünür') işe yarayacaktı ama bu konuda daha fazla bahse girerim. – cgatian

+0

Sadece bana bir hata verdi:/ –

+0

hala? cevabımı düzenledim. – supersize