jquery定时
jQuery 定时操作
jQuery 提供了多种方式来实现定时操作,以下是常见的几种方法:
使用 setTimeout 延迟执行
// 延迟 2 秒后执行
setTimeout(function() {
// 执行代码
alert('延迟 2 秒执行');
}, 2000);
使用 setInterval 循环执行
// 每 3 秒循环执行一次
var interval = setInterval(function() {
// 执行代码
console.log('循环执行');
}, 3000);
// 清除定时器
$('#stopButton').click(function() {
clearInterval(interval);
});
使用 jQuery 的 delay 方法
delay 方法主要用于动画队列的延迟,通常与 queue 或 animate 结合使用:
$('#element').delay(1000).fadeOut(); // 延迟 1 秒后淡出
使用 $.Deferred 实现更复杂的定时逻辑
var deferred = $.Deferred();
setTimeout(function() {
deferred.resolve('定时完成');
}, 1500);
deferred.done(function(message) {
console.log(message); // 输出 "定时完成"
});
使用 requestAnimationFrame 实现高性能动画
虽然这不是 jQuery 特有的方法,但可以结合 jQuery 使用:

function animate() {
// 动画逻辑
$('#element').css('left', '+=5px');
requestAnimationFrame(animate);
}
requestAnimationFrame(animate);
注意事项
setTimeout和setInterval是原生 JavaScript 方法,不是 jQuery 特有的。- 使用
clearTimeout和clearInterval来清除定时器,避免内存泄漏。 - 在单页应用(SPA)中切换页面时,记得清除所有定时器。
requestAnimationFrame比setInterval更适合动画场景,能自动匹配浏览器刷新率。






