我在这里使用html函数的延迟功能有奇怪的问题.
我使用$(‘#element’)html(‘Hello World’)设置一个html文本;
设置文本后,我想让这个文本在3秒内消失.
所以下一行我写道:
$('#element').delay( 3000).html( ' ');
这个没有工作,它将html设置为& nbsp而不等待3秒,它看起来像jquery正在跳过延迟功能.与fadeOut使用这个例子工作正常.我猜这个延迟与这个队列有关.
但为什么这不工作.它很简单,等待3秒钟,然后运行html函数.
有人建议吗谢谢.
PS:对于你的信息,我使用jQuery 1.4.2
解决方法
delay()默认为动画队列,用于fadeOut()等效果.您应该使用setTimeout():
window.setTimeout(function () { $("#element").html(' '); },3000);
从http://api.jquery.com/delay/:
jQuery.delay() is best for delaying between queued jQuery effects and such,and is not a replacement for JavaScript’s native 07001 function,which may be more appropriate for certain use cases.