javascript - 将 setTimeout 设置为变量有什么用以及是否需要clearTimeout

标签 javascript jquery

我想知道将 setTimeout 设置为变量有什么用

scroll_timer = window.setTimeout(function () { ... 

当我可以使用时

window.setTimeout(function () { ... 

实际上是否需要清除超时?第 2 行

$window.scroll(function () {
    window.clearTimeout(scroll_timer);
    scroll_timer = window.setTimeout(function () { // use a timer for performance
        if($window.scrollTop() <= top) // hide if at the top of the page
        {
            displayed = false;
            $message.fadeOut(500);
        }
        else if(displayed == false) // show if scrolling down
        {
            displayed = true;
            $message.stop(true, true).show().click(function () { $message.fadeOut(500); });
        }
    }, 100);
});

代码来自scroll to top in jquery

最佳答案

当您想在调用回调之前(即在设定的时间之前)停止计时器时,可以使用clearTimeout

var timer = setTimeout(callback, 1000);
clearTimeout(timer);

此处未调用回调。

关于javascript - 将 setTimeout 设置为变量有什么用以及是否需要clearTimeout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3194030/

相关文章:

javascript - 如何在 WSO2 中将当前日期返回为 'String'

jquery - 以 html 形式显示图像,该图像从 ajax 调用作为 MIME 媒体类型返回

javascript - 为 $.post ajax 请求定义自定义句柄函数

javascript - 为bracket.js制作一个插入函数

jquery - Json JQuery 冲突

javascript - 无法使用jquery从表div内的文本框中获取值

javascript - 插入时node.js mysql错误 'ECONNRESET'

javascript - 进度条在 XMLHTTPRequest 中不起作用

javascript - 关注输入触发两次而不是仅一次触发

php - 如何用链接交换样式表