我正在尝试使用 javascript 获取浏览器滚动条的垂直位置。我目前正在使用 jquery scroll() 函数,但我觉得回调有点慢,我想知道当用户在浏览器中滚动时是否有更快、更原生的方式来使用回调。有人知道吗?
问问题
148 次
2 回答
0
这是要监听的浏览器 DOM 级别事件。我推荐使用 jQuery,因为它会使用相同的原生事件,并且可以消除有时可能出现的粗劣平台/跨浏览器问题。
window.addEventListener ("scroll", function(){console.log('scrolling');});
于 2012-08-30T21:15:18.520 回答
0
如果您觉得回调运行时间过长,您可以限制它。只需跟踪上次调用它的时间:http: //jsfiddle.net/fjjAw/。
var lastCalled = 0;
$(window).on("scroll", function() {
var now = Date.now();
if(now - lastCalled > 1000) { // only proceed if it has been one second since last call
lastCalled = now;
// do things
}
});
于 2012-08-30T20:53:35.560 回答