2013-04-11 96 views
2

爲什麼動畫回調queue:false已被使用後未被觸發?jQuery animate回調隊列後不會觸發: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:falsecallback

回答

2

的格式錯誤:

結帳這個fiddle

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 2013-04-11 01:02:11

+0

請問 - 持續時間500與5000之間有什麼區別? – laukok 2013-04-11 01:07:11

+1

它只是以毫秒爲單位的持續時間。默認情況下,在jQuery的動畫,持續時間設置爲400 – karthikr 2013-04-11 01:08:20

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; 
}); 
相關問題