javascript - 对 HTML 或文本设置使用延迟不起作用

标签 javascript jquery

我在这里使用 HTML 函数时遇到延迟函数的奇怪问题。

我使用 $( '#element').html( 'Hello World');

设置 HTML 文本

设置文本后,我想让这个文本在 3 秒内消失。

所以下一行我写道:

$('#element').delay( 3000).html( '&nbsp');

这个不起作用,它将 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/

相关文章:

Jquery Ajax twitter/facebook 个人资料图像和 http 302

javascript - 如何使用 jQuery 获取按钮类型按钮的值?

javascript - 我的 processing.js 草图未加载。这应该不难回答

javascript - 如何从 Uploadcare 小部件中隐藏选择文件按钮

javascript - jQuery - 根据时间删除列表项

javascript - php mysql 用户评分和评论系统

javascript - 如何创建jQuery元素缓存机制?

jquery - 使单元格的内容在非常高的单元格中可见

javascript - Jquery-nice-select 插件无法正常工作

javascript不在asp的文本框中存储值