在用户滚动时停止计时器

Stop timers on user scroll

我有一个 div 标记,当对我的服务器进行 Ajax 调用时,该标记会填充数据。 Ajax requestsetIntervaltimer 内每 10 秒触发一次。 这个div有一个滚动条。

我想在用户滚动时禁用定时器内的 Ajax。

使用 clearInterval 函数在用户滚动时清除 setInterval 操作。此函数基本上会清除使用 setInterval() 方法设置的计时器。

var sInterval = setInterval(function xyz () {}, 10*1000);

//And in the scroll event just clear the interval,
clearInterval(sInterval);

这样试试:

var t = setInterval(function(){ 
            /*ajax call here*/ 
        }, 10000);

divId.addEventListener("scroll", function(){
    clearInterval(t);
});