2014-01-25 4 views
0

У меня есть div, который нужно показывать, когда пользователь прокручивает 400 пикселей вниз. Когда он прокручивает резервную копию, выше 400 пикселей, этот div нужно снова спрятать. Я могу сделать эту работу с fadeIn() и fadeOut(), но в этом случае я хочу добавить небольшую анимацию, похожую на slideUp(), с помощью animate(). Но делать это таким образом делает его очень багги, иногда он появляется, иногда нет.Показать div после прокрутки и скрыть при прокрутке назад

Почему это?

Demo

ответ

1

Использование $(window).scroll слишком часто. Предложите использовать setInterval для проверки scrollTop.

Here is a demo

Вот код JavaScript:

function update() { 
    if ($(window).scrollTop() > 400) { 
     $('.signup_scroll').animate({ 
      "bottom": '0px' 
     }, 300); 
    } else { 
     $('.signup_scroll').animate({ 
      "bottom": '-90px' 
     }, 300); 
    } 
} 

setInterval(update, 500); 
+0

Отлично, теперь он работает как надо! Интересное решение, спасибо. – user1901096

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