单击jQuery更新时间间隔

单击jQuery更新时间间隔,jquery,Jquery,我在#动画部分中有一个动画,它将在15秒后淡出。如下面的工作代码所示: var time = 15000; $('#animation-section').delay(time).fadeOut(600); 因为在这个快速互联网时代,15秒是很长的时间。此外,应该有一种方法可以通过按按钮(#skip)跳过此动画 当按下这个“跳过”按钮时,动画应该停止,#animation部分应该立即消失,我确实尝试通过将时间变量从15秒更新到.5秒来实现这一点,但似乎时间已经设置为15秒 我如何使这个单击

我在#动画部分中有一个动画,它将在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
});