2013-10-18 129 views
0

我想創建這兩個消息之間的延遲:Jquery的延遲工作不正常

$('#submit-account').html(animation + 'Submitting Data') 
$('#submit-account').html(animation + 'Validating Email') 

我已經試過這樣:

var ani = "<i class='icon-spin'></i> " 
$('#submit-account').html(ani + 'Wait').delay(5000).fadeIn(); 
$('#submit-account').html(ani + 'Done').delay(10000).fadeIn(); 

但沒有延時,爲什麼呢?

+0

你應該考慮,在jsfiddle重現問題 – Praveen

回答

3

我認爲這個問題是因爲delay()只是延遲了一個隊列項目(S)(jQuery的隊列自動僅動畫)。 所以嘗試修改淡入淡出功能到fadeIn(0)和jQuery將它解釋爲動畫,現在延遲應該工作。

1

確保#submit-account已被隱藏。

,而不是你的代碼,你可以試試這個

$('#submit-account').html(ani + "Wait").fadeIn(5000); 


$('#submit-account').html(ani + "Done").fadeIn(5000); 

這將控制的淡入效果的速度。 或者如果您希望div在一段時間後淡出,您可以使用setTimeOut()函數。

希望這將幫助你

1

也許你需要鏈接的JQuery 1.9.1,這是工作:jsFiddle is here

<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 

並注意delay()方法是排隊的jQuery 效果之間的延遲。

看看這個jsFiddle


reference