Подтвердить что ты не робот

Обнаруживать, если пользователь прокручивает

Как я могу обнаружить в javascript, если пользователь прокручивает?

4b9b3361

Ответ 1

это работает:

window.onscroll = function (e) {  
// called when the window is scrolled.  
} 

изменить:

вы сказали, что это функция в TimeInterval..
Попробуйте сделать это так:

userHasScrolled = false;
window.onscroll = function (e)
{
    userHasScrolled = true;
}

то внутри вашего интервала вставьте это:

if(userHasScrolled)
{
//do your code here
userHasScrolled = false;
}

Ответ 2

Вы только что сказали javascript в своих тегах, поэтому сообщение @Wampie Driessen может помочь вам.

Я хочу также внести свой вклад, поэтому вы можете использовать следующее при использовании jQuery, если вам это нужно.

 //Firefox
 $('#elem').bind('DOMMouseScroll', function(e){
     if(e.detail > 0) {
         //scroll down
         console.log('Down');
     }else {
         //scroll up
         console.log('Up');
     }

     //prevent page fom scrolling
     return false;
 });

 //IE, Opera, Safari
 $('#elem').bind('mousewheel', function(e){
     if(e.wheelDelta< 0) {
         //scroll down
         console.log('Down');
     }else {
         //scroll up
         console.log('Up');
     }

     //prevent page fom scrolling
     return false;
 });

Другой пример:

$(function(){
    var _top = $(window).scrollTop();
    var _direction;
    $(window).scroll(function(){
        var _cur_top = $(window).scrollTop();
        if(_top < _cur_top)
        {
            _direction = 'down';
        }
        else
        {
            _direction = 'up';
        }
        _top = _cur_top;
        console.log(_direction);
    });
});​

Ответ 3

window.addEventListener("scroll",function(){
    window.lastScrollTime = new Date().getTime()
});
function is_scrolling() {
    return window.lastScrollTime && new Date().getTime() < window.lastScrollTime + 500
}

Измените 500 на число миллисекунд после последнего события прокрутки, в котором вы считаете, что пользователь больше не прокручивается.

(addEventListener лучше, чем onScroll потому что первый может хорошо сосуществовать с любым другим кодом, который использует onScroll.)