2010-10-25 13 views
5

#button'yi tıklattığımda .wrapper'ün 'do something' olduğunu ve .wrapper span'in görünmemesine rağmen hala 'do something''ü yapıyor. bu yüzden kuralları takip etmiyor. Sorun nedir?jquery: this.not (': animated') && that.is (': görünür') kurallara uymayan sözdizimi problemi? sadece birkaç satır kod

$('#button').click(function(){ 
    if(
    $('.wrapper').not(':animated') && $('.wrapper span').is(':visible') 
) { 
    //do something 
    } 
}) 
+1

'değil (': animasyonlu')' onay değil ama bir seçicidir. bu yüzden '' '' '.wrapper'' animasyonluysa – glebm

cevap

4

Burada bir working demo var. working demo

$('#button').click(function(){ 
    $('.wrapper').filter(':animated').text("animating..."); 
    $('.wrapper').filter(':not(:animated)').text("not animating..."); 
}) 

6

Bu ise ifadeleri olmadan biraz temiz olduğu:

$('#button').click(function(){ 
    if(
    $('.wrapper').not(':animated') && $('.wrapper span').is(':visible') 
) { 
    //do something 
    } 
}) 
İlgili konular