setTimeout
是 JavaScript 中的一个函数,用于在指定的毫秒数后执行一个函数或一段代码。它通常用于延迟执行代码或在一段时间后执行某个操作。然而,setTimeout
并不是专门用于创建动画的,尽管它可以用于实现简单的动画效果。
当你使用 setTimeout
来执行 jQuery 动画时,动画只会运行一次,因为 setTimeout
只会在指定的延迟时间后执行一次回调函数。如果你希望动画重复运行,你需要再次调用 setTimeout
或者使用更适合动画的函数,如 setInterval
或 jQuery 的 .animate()
方法结合回调函数。
如果你想要动画连续运行,可以使用 setInterval
或者在 jQuery 动画的回调函数中再次调用 setTimeout
。
function animateElement() {
$('#element').animate({left: '+=50'}, 1000, function() {
// 动画完成后,再次调用 animateElement
animateElement();
});
}
// 开始动画
animateElement();
function animateElement() {
$('#element').animate({left: '+=50'}, 1000, function() {
// 动画完成后,设置下一次动画
setTimeout(animateElement, 1000);
});
}
// 开始动画
animateElement();
clearTimeout
或 clearInterval
来停止定时器,以防止内存泄漏。通过上述方法,你可以确保 jQuery 动画连续运行,而不是只执行一次。
领取专属 10元无门槛券
手把手带您无忧上云