2015-02-02 2 views
0

У меня есть функция jquery, которая анимирует элементы, когда пользователь прокручивает их.Jquery Cross-Browser Scroll Event Issues

Один из моих предметов «останавливает» пользователя и предотвращает естественную прокрутку.

Вместо этого он превращает естественную прокрутку в индикатор выполнения элемента, прокрутка вниз доводит элемент до 100% завершения, а затем возобновляется естественная прокрутка.

В настоящее время он отлично работает на Firefox, однако в IE и Chrome я испытываю дрожащий эффект. Кажется, что это происходит меньше при использовании клавиш со стрелками клавиатуры и больше с колесом прокрутки или баром. У меня есть некоторые теории, но все, что я тестировал, по-видимому, приводит меня к тому, что решение, которое у меня есть, является правильным.

Вот ссылка на среду разработки, элемент происходит только после прокрутки, и совершенно очевидно, какой из них он есть. Любое понимание было бы высоко оценено!

Dev Environment

+0

Если это может помочь вам (или нет), то такое же дрожание появится в Safari на Mac. –

+0

Спасибо за комментарий, как насчет в Firefox на Mac? – KoldBane

+0

Выглядит хорошо в Firefox, но в Chrome все же дрожит. –

ответ

0

Хотя не идеальное решение, код был переписан, чтобы быть обработаны более конкретными, отдельными элементами.

Например, вместо использования метода .scroll для обработки проблемы (которая вызывала рекурсивный цикл путем прокрутки во время .scroll), я обрабатывал взаимодействие с помощью различных методов прокрутки (клавиши со стрелками, колесико прокрутки, прокрутка бар) и смог отделить поведение.

Надеюсь, это поможет кому-то еще, кто спотыкается по этому поводу.