Я играю с прокруткой Parallax, как на этом сайте Nike. Итак, я использовал scrollTop для определения вертикального положения пользователя на странице, а затем корректировка позиций элемента на основе изменений этого значения.
Здесь я округляю значение scrollTop и записываю его. Лог покажу позже.
var distance = 60*(Math.round($(window).scrollTop()/60));
console.log(distance);
Затем, по щелчку, я вызываю эту функцию, которая прокручивается до значения scrollTop, которое я ему передал.
function goTo(n){
console.log('begin animating');
$('html,body').animate({scrollTop: n},2000);
}
Вот проблема: верхнее значение прокрутки перед анимацией прыгает на 0.
Итак, я на полпути вниз по странице, и он регистрирует:
begin animating
0
6240
6180
6120
// etc...
То, как я позиционирую материал, зависит от точности значения scrollTop. Итак, мой вопрос:
Как я могу предотвратить скачок значения scrollTop до 0 до завершения анимации?
Дайте мне знать, если потребуется дополнительная информация.
Вот действующая версия сайта: http://theblueeyeguy.com/moon/Illumination/
(нажмите «Далее», затем «Предыдущий», чтобы сломать его)