jquery 休眠
在 jQuery 中,没有直接的“休眠”函数,但可以通过以下方法模拟延迟或暂停执行的效果:

使用 setTimeout 延迟执行
setTimeout 是 JavaScript 原生方法,可用于延迟代码执行。结合 jQuery 使用如下:

$("#element").click(function() {
setTimeout(function() {
// 延迟执行的代码
alert("延迟 2 秒后执行");
}, 2000); // 2000 毫秒 = 2 秒
});
使用 delay() 方法(仅限动画队列)
jQuery 的 delay() 方法适用于动画队列中的延迟,但不会阻塞其他代码执行:
$("#element").fadeIn(300).delay(2000).fadeOut(300); // 淡入后延迟 2 秒淡出
自定义 Promise 实现异步休眠
结合 ES6 的 Promise 和 setTimeout 实现更灵活的休眠:
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
// 使用示例(需在 async 函数中)
$("#element").click(async function() {
await sleep(2000); // 休眠 2 秒
$(this).text("休眠结束");
});
注意事项
delay()仅对 jQuery 动画队列有效,不可替代常规代码延迟。- 原生 JavaScript 的
setTimeout是非阻塞的,不会暂停整个脚本执行。 - 如需精确控制异步流程,建议使用
Promise或async/await方案。






