Jquery延迟无法正常工作

时间:2013-10-18 09:48:05

标签: 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();

但是没有延迟,为什么?

4 个答案:

答案 0 :(得分:3)

我认为这个问题是因为delay()只延迟队列中的项目(jQuery仅自动排队动画)。 因此,尝试将淡入淡出函数修改为fadeIn(0),jQuery会将其解释为动画,现在延迟应该有效。

答案 1 :(得分:1)

确保已经隐藏#submit-account。

代替你的代码,你可以试试这个

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


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

这将控制fadein效果的速度。 或者如果您希望div在一段时间后变为淡入淡出,则可以使用setTimeOut()函数。

希望这会对你有所帮助

答案 2 :(得分:1)

也许您需要链接JQuery 1.9.1,这是有效的: jsFiddle is here

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

并注意delay()方法用于延迟排队的jQuery 效果

看看这个 jsFiddle


reference


答案 3 :(得分:0)

我不确定我是否准确或正确地理解它,但是有一个默认的内置JavaScript setTimeOut();功能

了解更多信息:How to wait 5 seconds with jQuery?