jquery: this.not (': animated') && that.is (': visible') не соответствует правилам, проблема синтаксиса?только несколько строк кода - PullRequest
5 голосов
/ 25 октября 2010

когда я нажимаю #button, он все еще выполняет 'do something', хотя .wrapper анимируется и .wrapper span не виден. так что это не соответствует правилам. что не так?

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

Ответы [ 2 ]

6 голосов
/ 22 июня 2012

Это немного чище без операторов if. рабочая демоверсия

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

1006 *

4 голосов
/ 25 октября 2010

Здесь у вас есть <a href="http://www.jsfiddle.net/dactivo/yBTC8/" rel="nofollow">working demo</a>:

$('#button').click(function(){
if(    $('.wrapper:animated').length>0)
{
 $(".wrapper").text("animating")   ;
}
  if(
    $('.wrapper:animated').length<1) {
 $(".wrapper").text("not animating")   ;
  }
})
...