2012-01-03 81 views
6

我會使用的觸發方式在行刑前的延遲使用觸發方式,我試着這樣說:與延遲

$('#open-contact').delay(3000).trigger('click'); 

但代碼運行瞬間。

你們有沒有人能幫助我?

非常感謝你

回答

13

jQuery的doc says

的.delay()方法是最好的排隊jQuery效果之間的延遲。因爲它是有限的 - 例如,它不提供取消延遲的方法.delay()不是JavaScript本地setTimeout函數的替代品,這對於某些用例可能更合適。

所以,我想改寫這個作爲

setTimeout(function() { 
    $('#open-contact').trigger('click'); 
}, 3000); 
4

從jQuerys文檔中關於延遲:

的.delay()方法是最好的排隊jQuery效果之間的延遲。因爲它是有限的 - 例如,它不提供取消延遲的方法.delay()不是JavaScript本地setTimeout函數的替代品,這對於某些用例可能更合適。

換句話說,你應該使用的setTimeout()來代替,即:

setTimeout(function() { $('#open-contact').trigger('click'); }, 3000); 
4

嘗試:

 

$('#open-contact').delay(3000).queue(function() { 
    $(this).trigger('click'); 
});