gpt4 book ai didi

javascript - 如何重置设置超时

转载 作者:行者123 更新时间:2023-12-02 16:53:26 25 4
gpt4 key购买 nike

我在这里尝试了答案:Resetting a setTimeout ,但它似乎对我不起作用。

我正在使用 Owl Carousel 构建目录查看器。我有一个函数设置为在 afterMove 事件处理程序上关闭,该处理程序显示用户所在的页面。它显示页面计数器,然后设置超时以使其在 1 秒后淡出。可能很多人浏览页面的速度都超过每秒一次。因此,如果再次调用该函数,我需要重置超时。

function showCounter(){
var $counter = $('#counter');
//clear timeout
window.clearTimeout(timeout);
//Display counter
$counter.show();
//set timeout
var timeout = window.setTimeout(function(){
$counter.fadeOut(500);
}, 1000);
}

但是 window.clearTimeout(timeout) 似乎不起作用,我不知道为什么

谢谢

最佳答案

函数内的

var timeout 使 timeout 成为函数的本地函数;因此,每次调用 showCounter 时,timeout 都是未定义。将变量声明移出函数:

var timeout;
function showCounter() {
// ...
timeout = // NO VAR! ...
// ...
}

关于javascript - 如何重置设置超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26394560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com