单击jQuery更新时间间隔
我在#动画部分中有一个动画,它将在15秒后淡出。如下面的工作代码所示:单击jQuery更新时间间隔,jquery,Jquery,我在#动画部分中有一个动画,它将在15秒后淡出。如下面的工作代码所示: var time = 15000; $('#animation-section').delay(time).fadeOut(600); 因为在这个快速互联网时代,15秒是很长的时间。此外,应该有一种方法可以通过按按钮(#skip)跳过此动画 当按下这个“跳过”按钮时,动画应该停止,#animation部分应该立即消失,我确实尝试通过将时间变量从15秒更新到.5秒来实现这一点,但似乎时间已经设置为15秒 我如何使这个单击
var time = 15000;
$('#animation-section').delay(time).fadeOut(600);
因为在这个快速互联网时代,15秒是很长的时间。此外,应该有一种方法可以通过按按钮(#skip)跳过此动画
当按下这个“跳过”按钮时,动画应该停止,#animation部分应该立即消失,我确实尝试通过将时间变量从15秒更新到.5秒来实现这一点,但似乎时间已经设置为15秒
我如何使这个单击函数更新或覆盖#动画部分时间延迟?我认为jQuery的.delay()函数不是最好的选择,因为您不能中断/停止jQuery延迟
:
.delay()方法最适合在排队的jQuery效果之间进行延迟。例如,由于它的局限性,它没有提供一种取消延迟的方法。delay()不是JavaScript本机setTimeout函数的替代品,后者可能更适合某些用例
使用该函数即可
试试这个:
var time = 15000;
setTimeout(() => { //this sets a 'delay' of 15000ms(time)
$("#animation-section").fadeOut(600);
}, time);
$("#skip").click(function() {
$("#animation-section").fadeOut(600); //directly fades out the #animation-section without any delay
});
例如:
var时间=15000;
setTimeout(()=>{//此设置15000ms(时间)的“延迟”
$(“#动画部分”)。淡出(600);
},时间);
$(“#跳过”)。单击(函数(){
$(“#动画部分”)。淡出(600);
})
或
var time = 15000;
setTimeout(() => { //this sets a 'delay' of 15000ms(time)
$("#animation-section").fadeOut(600);
}, time);
$("#skip").click(function() {
$("#animation-section").fadeOut(600); //directly fades out the #animation-section without any delay
});