2013-04-11 4 views
2

Почему анимированный callback не запускается после того, как queue:false был использован?jQuery animate callback не запускается после очереди: используется false?

Например, здесь происходит обратный вызов.

$("#move").click(function(){ 

     $(".box").animate({ 
      marginLeft: "100px" 
     },500 , function() { 

      alert('complete'); 
      console.log('complete'); 
     }); 

     return false; 
}); 

но не с этим,

$("#move").click(function(){ 

     $(".box").animate({ 
      marginLeft: "100px" 
     }, { queue:false, duration:500 } , function() { 

      alert('complete'); 
      console.log('complete'); 
     }); 

     return false; 
}); 

в link к jsfiddle

Могу ли я как queue:false и callback в то же время?

ответ

2

Формат неправильно:

fiddle Checkout это

JQuery одушевленные is defined as follows: .animate(properties, options)

$("#move").click(function(){ 

     $(".box").animate({ 
      marginLeft: "100px", 
     queue:false, duration:500 } , 5000, function() { 

      alert('complete'); 
      console.log('complete'); 
     }); 

     return false; 
}); 
+0

AW ... получил его! Спасибо. – laukok

+0

могу спросить - какая разница между 500 и 5000? – laukok

+1

Это просто продолжительность в миллисекундах. По умолчанию в jquery animate продолжительность устанавливается равной 400 – karthikr

6

Это не будет работать karthikr ... очередь не будет работать больше. как вы упомянули одушевленные определяется как .animate (свойства, параметры) .Вы должны сделать обратный вызов часть аргумента опции:

$("#move").click(function(){ 

    $(".box").animate({ 
     marginLeft: "100px", 
    },{queue:false, duration:500, complete:function() { 

      alert('complete'); 
      console.log('complete'); 
     }//callback function 
    });//options and animate 

    return false; 
}); 
Смежные вопросы