页面停止滚动时触发功能

dav*_*lee 1 javascript jquery javascript-events

如何在浏览器窗口停止滚动时触发功能?通过鼠标滚轮,单击,空格键或箭头键?这样的行动有什么事吗?我曾尝试在线搜索但无法获得任何解决方案.我对jQuery解决方案很好.

Nic*_*ver 11

没有"事件",但你可以自己做,像这样:

$(function() {
  var timer;
  $(window).scroll(function() {
    clearTimeout(timer);
    timer = setTimeout(function() {
      $(window).trigger("scrollStop");
    }, 250);
  });
});
Run Code Online (Sandbox Code Playgroud)

然后你可以绑定它,像这样:

$(window).bind("scrollStop", function() {
  alert("No one has scrolled me in 250ms, where's the love?");
});
Run Code Online (Sandbox Code Playgroud)

这会创建一个事件,对此没有"停止",但您可以定义自己的......在这种情况下,"停止"定义为"未在250毫秒内滚动",您可以根据自己的喜好调整计时器,但是这就是主意.

此外,如果你只做一件事就不需要事件,只需将你的代码放在我正在调用的地方$(window).trigger("scrollStop"),它就会n在滚动停止后的几毫秒内运行.