2013-10-09 1 views
0

사용자가 아래로 스크롤 할 때 내 바닥 글을 가져 오려고하지만 사용자가 맨 위로 스크롤 할 때 애니메이션을 적용하려고합니다.바닥 글 애니메이션을 감지하기위한 창 스크롤

내 코드는 아래로 스크롤 할 때 바닥 글을 움직일 수 있지만 맨 위로 돌아갈 때는 움직이지 않는 것처럼 보입니다.

또한 상단에서 400px 아래로 스크롤하면 애니메이션으로 설정하려고 시도하지만 어떤 이유로 애니메이션을 스크롤하는 순간 발생합니다.

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

모든 도움을 환영합니다. 코드에서

+0

는 $ ("# 바닥 글")가 ({ "바닥": "0 픽셀"}, 3000) 애니메이션.; 보행자를 보이거나 숨기고 있습니까? – koenpeters

+0

푸터가 0px이고 -150px에서 보행자가 보이지 않습니다. – ThePagan

+0

그냥 스크립트를 망쳐 놓고'else if' 문을 제거하고'else'를 사용했습니다. 나는 JS 피들 (fiddle)에 갈 수는 없지만 W3 학교에서 "스스로 시도해보십시오"코드 상자에서 작동하는 것 같습니다. – ThePagan

답변

0

당신은 OPX 위의 댓글이 바닥 글을 보여줍니다에 따르면

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

을 말한다. 즉, 사용자가 스크롤을 시작하고 스크롤되는 거리가 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