2012-03-20 5 views
1

Во-первых, мне очень жаль, мой плохой английский ...Как получить направление прокрутки в iScroll

Теперь я занимаюсь разработкой PhoneGap. Я использую iScroll для прокрутки списка. И я хочу получить направление прокрутки.

Для образца, когда я сдвигаюсь по экрану, скроллер прокручивается вверх. Когда я сдвигаю экран, скроллер прокручивается вниз, и как получить направление скроллера при прокрутке?

Может ли кто-нибудь помочь? Буду благодарен!

ответ

6

У меня был такой же вопрос, и в итоге я использовал .dirX и .dirY свойства экземпляра iScroll. Их значение всегда равно 1 (слева/вверх), 0 (none) или -1 (справа/вниз), что красиво оценивается в true, если направление находится на конкретной оси.

new iScroll("your_element_id", { 
    onTouchEnd: function(){ 
     alert(this.dirX); // Returns 1, 0 or -1 
     alert(!!this.dirX); // Returns true for horizontal 
    } 
}); 

Как мне нужно получить направление легкого движения я использую onTouchEnd событие, но то же самое относится и к onScrollMove (и, возможно, другим событиям) тоже.

+1

Отлично! Использовал его с onScrollEnd до совершенства! – streetlight

1

Нет прямого способа сделать это, но вы можете достичь этого через события.

Вы можете использовать событие onScrollStart для обнаружения при запуске прокрутки. Запишите текущую позицию с помощью .x и запустите интервал (setInterval), чтобы продолжить проверку новой текущей позиции. Затем вы можете сделать разницу и выяснить, прокручивались ли вы влево или вправо.

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

 Смежные вопросы

  • Нет связанных вопросов^_^