#jquery #google-chrome #safari #scroll
#jquery #google-chrome #safari #прокрутка
Вопрос:
На моем сайте у меня есть анимация в верхней части страницы, которая анимируется на основе прокрутки пользователя. В / после определенного момента анимация заканчивается, и прокрутка пользователей продолжается. Я добиваюсь этого, получая scrollTop
позицию при прокрутке и регулируя top
положение другого раздела страницы:
$(window).scroll(function(){
var windscroll = $(window).scrollTop();
sections.each(function(){
$(this).addClass('no-scroll');
$(this).css({
'top': windscroll
});
$('#arrow .wrap').addClass('no-scroll');
});
});
Я попытался выполнить настройку верхней части моего контейнера страницы, предполагая, что each
это было причиной скачка, но я получил тот же результат. Я также попробовал плагин «дросселирования / деблокирования» под названием jQuery throttle / debounce, но это не помогло. Игра с опциями либо ухудшила ситуацию, либо не внесла никаких изменений.
Я действительно замечаю, что в Chrome есть некоторая нервозность (другой браузер Webkit … может быть связанной с этим проблемой?), Но это немного заметно в Chrome. Я могу оправдать скачки в Chrome, но Safari настолько плох, что я хотел бы найти решение.
Ответ №1:
Я сталкиваюсь с той же проблемой, я создал для нее jsFiddle:
$(document).ready(function(){
$('#main').scroll(function(){
$('#two').css('top', $('#main').scrollTop());
});
});
Я понимаю, если это происходит со многими элементами или сложными вычислениями, но в этом примере это всего лишь 3 раздела, а прокрутка в Safari ужасна.