2010-01-17 12 views

cevap

39

Yani display: block ve display: none ayırt etmek ister misin? Eğer öyleyse, daha iyi bunun için :visible seçici ile birlikte is() işlevini kullanabilirsiniz:

if ($('#toshow').is(':visible')) { 

} else { 

} 

Bu olursa olsun display: block veya display: inline veya display: inline-block kullanıldığı takdirde çalışır.

+3

umarım bu işe sanmıyorum. –

+0

@Dustin: Neden böyle bir yorum yayınladığınızı bilmiyorum, ancak bu kendinizi denemek için çok basit. Bu özel durumla ilgili bir sorun yaşıyorsanız, başka bir yere neden olur. – BalusC

+2

Tamam, hadi şöyle diyelim. Eğer div şu anda görünür olup olmadığını bilmek istiyorsanız bu işe yarayacaktır. Eğer div bloğunun (orijinal soru, beni bir Google aramasından bu stackoverflow sorusuna götüren orijinal soru) olup olmadığını bilmek istiyorsanız bu işe yaramaz. Benim durumumda, (gizli) bir div olup olmadığını bilmek istedim. Ebeveyn divunu ifşa ettiğimde gizlenecekti. http://jsfiddle.net/ejVvu/1/ Gördüğünüz gibi, bu cevap, div'in bir blok özniteliğine (orijinal soruya) sahip olup olmadığını kontrol etmek için çalışmayacaktır. Bu nedenle, geçerli "daha iyi" bir çözüm için +1 Görünürlük, ancak sorunun cevabı değil. –

15

css işlevini kullanmanız gerekir.

if($("#toshow").css("display") == "block"){ 

}else{ 

} 
4

:visible seçicinizi unutmayın.

if ($("#toshow:visible").length) { 
    // it's visible 
} else { 
    // it's not visible 
} 
4
$(document).ready(function(){ 
    if ($('#toshow').css('display') == 'block') { 
     // Do something. 
    } else { 
     // Do something else. 
    } 
}); 

hile yapalım mı.

0

Bu seçenek mükemmel çalıştı. Ben Brezilya'lıyım ve metni çevirmek zorunda kaldım, ancak kodu gördüğümde hemen doğru seçeneğin olduğunu gördüm. Bir ana öğe gizli ise

function reversoObjeto() { 
 
    $('#janela').fadeToggle(500, function(e) { 
 
    if ($("#janela").css("display") == "none") { 
 
     alert("Janela Apagou!"); 
 
    } else { 
 
     alert("Janela Acendeu!"); 
 
    } 
 
    }) 
 
}

İlgili konular