我在这里使用 HTML 函数时遇到延迟函数的奇怪问题。
我使用 $( '#element').html( 'Hello World');
设置文本后,我想让这个文本在 3 秒内消失。
所以下一行我写道:
$('#element').delay( 3000).html( ' ');
这个不起作用,它将 HTML 设置为  
而没有等待 3 秒,看起来 jQuery 正在跳过延迟函数。例如,将其与 fadeOut 一起使用效果很好。我想这与延迟队列有关。
但是为什么这行不通。非常简单,等待 3 秒,然后运行 HTML 函数。
最佳答案
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 setTimeout function, which may be more appropriate for certain use cases.
关于javascript - 对 HTML 或文本设置使用延迟不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3675935/