2013-10-09 2 views
0

Я пытаюсь поднять нижний колонтитул, когда пользователь прокручивает вниз, а затем анимирует, когда пользователь прокручивает вверх.Окно прокрутки для обнаружения анимации нижнего колонтитула

Мой код, похоже, работает для нижнего колонтитула для анимации при прокрутке вниз, но не при возврате к вершине.

Кроме того, я пытаюсь настроить его на анимацию, как только вы прокрутите 400 пикселей вниз, но по какой-то причине оживление происходит в тот момент, когда вы прокручиваете.

$(function(){ 
    $(window).scroll(function(){ 
    if ($(window).scrollTop()<400){ 
     $("#footer").animate({"bottom" : "0px"}, 3000); 
    }else if($(window).scrollTop()>400){ 
     $("#footer").animate({"bottom" : "-150px"}, 1500); 
    } 
    }); 
}); 

Вся помощь приветствуется.

+0

Это $ ("# footer"). Animate ({"bottom": "0px"}, 3000); показывая или скрывая нижний колонтитул? – koenpeters

+0

Он показывает нижний колонтитул на 0px и снимает нижний колонтитул с высоты -150 px. – ThePagan

+0

Просто возился со сценарием и удалял оператор 'else if' и просто использовал' else'. Я не могу попасть на скрипт JS, но, похоже, он работает в школьных школах W3 «попробуйте сами». – ThePagan

ответ

0

В своем коде вы говорите

$(window).scroll(function(){ 
    if ($(window).scrollTop()<400){ 
     $("#footer").animate({"bottom" : "0px"}, 3000); 

По вашему комментарию выше Opx показывает колонтитула. Таким образом, это означает, что нижний колонтитул будет анимироваться, как только пользователь начнет прокручивать, а прокрутки на расстояние меньше 400 пикселей. Который: первый момент, когда вы начинаете прокручивать. Вот почему нижний колонтитул показан в первый момент, когда вы прокручиваете. Я думаю, вам нужно это сделать:

$(function(){ 
    $(window).scroll(function(){ 
    if ($(window).scrollTop()<400){ 
     $("#footer").stop().animate({"bottom" : "-150px"}, 3000); 
    }else { 
     $("#footer").stop().animate({"bottom" : "0px"}, 1500); 
    } 
    }); 
}); 
+0

Отлично, спасибо. Я добрался до выражения 'if else', но просто изменил положение нижнего колонтитула. Спасибо за помощь. – ThePagan

+0

Обратите внимание на дополнительные вызовы .stop(). Они гарантируют немедленную остановку текущей анимации. IT выглядит лучше, – koenpeters

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