Проблемы с прокруткой тачпада jQuery

У меня проблема с прокруткой тачпада. Вот так выглядит мой сайт: нажмите. Здесь можно перемещаться с помощью стрелок вверх/вниз, меню и колесика мыши. Все хорошо, кроме прокрутки с помощью тачпада. Когда вы это делаете, это интерпретируется так же, как несколько прокруток колесика мыши. Таким образом, вы переходите не с верхнего на второй экран, а на последний. Я думал об этом, и мои решения:

  • определить направление прокрутки
  • перейти к следующему/предыдущему экрану
  • остановить прокрутку

Но я понятия не имею, как «остановить прокрутку». Может кто-нибудь помочь мне? :)


person MrShemek    schedule 25.10.2013    source источник


Ответы (1)


Хорошо, я понял, как это сделать. Может быть, это не лучший способ, но он работает. Код:

        scrollTimes ={ 
            up : 0,
            down : 0
        };

         $('body').bind('DOMMouseScroll', function(e){
            if(e.originalEvent.detail > 0) {
               scrollTimes.down++;
                if(scrollTimes.down === 1 ) {
                    api.next(2000);
                }
            }
            else {
                scrollTimes.up++;
                if(scrollTimes.up === 1 ) {
                    api.prev(2000);
                }
            }

            setTimeout( function() { scrollTimes = { up : 0, down : 0};}, 2000);

            return false;
        });

        $('body').bind('mousewheel', function(e){
            if(e.originalEvent.wheelDelta < 0) {
                scrollTimes.down++;
                if(scrollTimes.down === 1 ) {
                    api.next(2000);
                }
            }
            else {
                scrollTimes.up++;
                if(scrollTimes.up === 1 ) {
                    api.prev(2000);
                }
            }

            setTimeout( function() { scrollTimes = { up : 0, down : 0};}, 2000);

            return false;
        });

Я установил время в setTimeout на 2000, потому что это время прокрутки к следующему/предыдущему экрану :)

person MrShemek    schedule 29.10.2013