2014-10-19 3 views
0

Привет, я могу изменить и переключить атрибуты div в прокрутке, но когда я использую анимацию, это не сработает, но будет странно.Как анимировать div на свитке?

следующие работы:

$(document).scroll(function() { 
$("#register").css({left: $(this).scrollLeft() > 1348? "-140px":"0px"}); 
}); 

Но это не будет работать:

$(document).scroll(function() { 
$("#register").animate({left: $(this).scrollLeft() > 1348? "-140px":"0px"}); 
}); 

Я хочу ДИВ, чтобы уйти, когда я прокручиваю больше, чем 1348, и если свиток меньше 1348, div должен появиться снова.

Простые css работают, но анимация не работает.

+2

В каждом зарегистрированном событии прокрутки CSS применяет изменения, не видимые глазу, означает, что он всегда перерисовывает элемент в 0px слева, если document.scrollLeft <1348. Анимация будет делать ** анимацию ** на каждом прокрутке поставить галочку. Что вы сделали, чтобы предотвратить это? –

ответ

2

Я бы рекомендовал использовать skrollr.js

https://github.com/Prinzhorn/skrollr

типичное использование столь же просто, как:

<div data-0="background-color:rgb(0,0,255);" data-500="background-color:rgb(255,0,0);">WOOOT</div> 

где данные номер представляет собой текущую позицию прокрутки.

анимация можно использовать используя css транзит.

+0

Добавляет ли плагин поддержку горизонтальной прокрутки? –

+0

@ RokoC.Buljan да, конечно, я рекомендую, чтобы производительность css была намного лучше, чем jquery animate. – ProllyGeek

+0

На самом деле я поражен тем, насколько гладкий результат в FF! –

Смежные вопросы