@atambalasi

Как анимировано двигать div по горизонтали?

HTML
<header>
<div class="major"></div>
</header>

JS
var tempScrollTop, currentScrollTop = 0;
				var x = 4;
				
				jQuery(document).scroll(function(){

				currentScrollTop = jQuery(document).scrollTop();
			     
				
				 
				if (tempScrollTop < currentScrollTop )
				{
					if(tempScrollTop > 0 && tempScrollTop < 25){
						$('div').animate({
								'left': (x++)+'%'
						}, 100);
					}
						  console.log("Scroll to BOTTOM x =" + (x++));
				}
					
				else if (tempScrollTop > currentScrollTop )
				{
					if(tempScrollTop > 0 && tempScrollTop < 25){
					$('div').animate({
							'left': tempScrollTop + '%'
						}, 100);
					}
						  console.log("Scroll to TOP x =" + (--x));
				}
				
				

				tempScrollTop = currentScrollTop;
				});

Что в итоге получаю? Див перемещается когда скролим вниз вправо а когда скролим вверх влево. Но прыгает. Если увеличиваю время animate див отстает от скролла. Нужен плавный перемещения вправо и влево зависимости от скролла(топ или bottom) но при этом не должен отставать от скролла(Родительский элемент в хедере после 200px не видно в экране).
  • Вопрос задан
  • 408 просмотров
Пригласить эксперта
Ответы на вопрос 1
mattedev
@mattedev
web developer
Animate зря, при каждом скроле вызывается animate в 300мс по дефолту, поэтому висит. Используй css
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы