0
Im используя следующий пример, чтобы определить направление прокрутки. Однако, похоже, он действует на каждое движение прокрутки. Есть ли способ заставить его работать только тогда, когда меняется направление?scrolltop обнаруживает прокрутку несколько раз
var lastScrollTop = 0;
$(window).scroll(function(event){
var st = $(this).scrollTop();
if (st > lastScrollTop){
// downscroll code
} else {
// upscroll code
}
lastScrollTop = st;
});
Привет, он по-прежнему срабатывает несколько раз, для каждого изменения прокрутки. Я пытаюсь заставить его стрелять только при изменении направления. Я думаю, что в коде с ошибкой lastDirection должна быть ошибка? Должна ли она копировать переменную lastScrollTop? –
Я, по общему признанию, не пробовал код. Позвольте мне быстро вставить его в скрипку и посмотреть, что может произойти. –
Ах, исправил. Проблема состояла в том, что lastDirection получал повторную инициализацию каждой итерации, потому что она была определена в лямбда-функции. Было бы лучше определить его в той же области, что и lastScrollTop. См. Мой [скрипка] (http://jsfiddle.net/vupzbvzw/3/) –