Обнаружение конца / конца прокрутки
Я хотел бы определить, когда пользователь прекратил прокручивать страницу / элемент. Это может быть непросто, так как недавние усовершенствования в поведении прокрутки OSX создают этот новый эффект инерции. Произошло ли событие?
Единственное другое решение, которое я могу придумать, - это использовать интервал для определения, когда позиция прокрутки страницы / элемента больше не изменяется, например:
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;
});
1 ответ
Взгляните на это, его 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);