解决方法
这里真的没有“停止”的事件 – 当您滚动时,您会收到一个事件,所以每次触发事件都会触发事件触发…当没有任何事情发生时,您的处理程序将不会触发.
你可以检测用户何时在250ms内没有使用,像这样:
$("#myElem").mousewheel(function() { clearTimeout($.data(this,'timer')); $.data(this,'timer',setTimeout(function() { alert("Haven't scrolled in 250ms!"); //do something },250)); });
You can give it a try here,所有我们正在做的是在每次使用$.data()
时存储超时时间,如果在该时间用完之前再次使用它,它将被清除…如果不是那么任何要运行的代码,用户具有“完成“使用他们的mousewheel任何一段时间你正在测试.