Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在.scroll i停止时执行操作_Javascript_Jquery - Fatal编程技术网

Javascript 如何在.scroll i停止时执行操作

Javascript 如何在.scroll i停止时执行操作,javascript,jquery,Javascript,Jquery,我已将滚动处理程序放入我的页面: $(window).scroll(function() { ... }); 当我停下来滚动条时,我想做一些操作,而不是在滚动条时 我该怎么做呢?计时器通常都是一个非常讨厌的东西,但在这种情况下,我想不出比它更好的了。也许这样的事情对你有用: var DELAY = 250; // Or whatever makes sense for you. var timer = null; function scrolling_has_stopped() {

我已将滚动处理程序放入我的页面:

$(window).scroll(function() {
  ...
});
当我停下来滚动条时,我想做一些操作,而不是在滚动条时


我该怎么做呢?

计时器通常都是一个非常讨厌的东西,但在这种情况下,我想不出比它更好的了。也许这样的事情对你有用:

var DELAY = 250;  // Or whatever makes sense for you.
var timer = null;

function scrolling_has_stopped() {
    timer = null;  // Make sure everything is always in a sane state.

    // Do whatever you want to do when they've stopped scrolling.
    // ...
}

$(window).scroll(function() {
    if(timer)
        clearTimeout(timer);
    timer = setTimeout(scrolling_has_stopped, DELAY);
});
基本策略是使用计时器延迟“他们已停止滚动”操作,直到最后一次滚动事件后的几个时钟滴答声,其余的只是簿记。您需要使用
DELAY
值来获得感觉正确的东西

有用的参考资料: