Javascript 检测滚动完成/结束
我想检测用户何时停止滚动页面/元素。这可能很棘手,因为最近对OSX滚动行为的增强产生了这种新的惯性效应。是否已触发事件 我能想到的唯一其他解决方案是,当页面/元素的滚动位置不再改变时,使用一个时间间隔来拾取,例如:Javascript 检测滚动完成/结束,javascript,jquery,scroll,dom-events,Javascript,Jquery,Scroll,Dom Events,我想检测用户何时停止滚动页面/元素。这可能很棘手,因为最近对OSX滚动行为的增强产生了这种新的惯性效应。是否已触发事件 我能想到的唯一其他解决方案是,当页面/元素的滚动位置不再改变时,使用一个时间间隔来拾取,例如: var element = $( el ); var previous = element.scrollLeft(); var current; element.scroll( function(event) { current = element.scrol
var element = $( el );
var previous = element.scrollLeft();
var current;
element.scroll( function(event)
{
current = element.scrollLeft();
if ( current === previous )
{
// user has stopped scrolling
}
previous = current;
});
看看,它的jquery,对我来说很好,希望能为你工作
中还有其他滚动事件代码。可能有用
// Setup isScrolling variable
var isScrolling;
// Listen for scroll events
window.addEventListener('scroll', function ( event ) {
// Clear our timeout throughout the scroll
window.clearTimeout( isScrolling );
// Set a timeout to run after scrolling ends
isScrolling = setTimeout(function() {
// Run the callback
console.log( 'Scrolling has stopped.' );
}, 66);
}, false);
是的,它们本质上是一样的:检查滚动何时停止。我希望在某处会有某种本地DOM事件。