2011-01-26 5 views
0

jQuery를 처음 사용하며 문제가 분명한 경우 사과드립니다. 이 상황을 해결하는 여러 가지 방법을 연구했지만 모두 동일한 문제로 끝납니다.추가 애니메이션을 막기 위해 if-else jquery를 사용했을 가능성이 있음

나는 몇 개의 웹 페이지가 함께 링크되어 있으며 jQuery를 사용하여 각 페이지의 메뉴 막대를 같은 방법으로 움직입니다.

페이지 표시 줄이 완전히 보이고 아래로 스크롤되어 일부만 표시됩니다 (jQuery CSS 하단 값 애니메이션을 사용하여 표시). 사용자가 막대를 가리키면 원래의 (로드) 위치로 다시 이동하므로 내용이 다시 표시됩니다.

문제 내가 연속적으로, 메뉴로드 링크를 클릭 할 때 너무 up-- 내용과 새 페이지를 이동 유혹에 아래로 다음 바를 이동에 document.ready에 jQuery 코드를 가지고있다 바는 처음부터 끝까지 움직이지 않고 조금 더 움직입니다 (새 페이지의 바 위에 마우스가 있기 때문에).

모든 페이지에서 막대가 부분적으로 표시되도록 막대가 아래로 이동 한 다음 나중에 상호 작용할 때 다시 위로 이동하는 기능이 필요합니다.

여기에 내가 사용 해본 코드가 있습니다.이 코드를 분해하거나 if-else 로직을 div CSS CSS의 bottom 속성에 기반하여 삽입하거나 막대가 처음부터 위로 이동하는 것을 막기 위해 도움이 필요합니다. (즉, 첫 번째 부분보다 먼저 jQuery 코드의 두 번째 부분을 실행하고있다).

$('#navigation').stop().animate({bottom: '-50px'}, 1500); 

$('#navigation').mouseenter(function() { 
$('#wrapper').stop().delay(300).animate({bottom: '3em'}, 500); 
}); 

$('#navigation').mouseleave(function() { 
$('#wrapper').stop().delay(300).animate({bottom: '0'}, 500); 
}); 

답변

0

난 당신이 설명하는 생각 효과를 얻으려면, 내가 메뉴의 기본 스타일을 만들 것 '폐쇄', mouseEnter (doOpen),하는 MouseLeave (doClose). 이렇게하면 사용자가 페이지를 변경할 때 페이지로드 코드가 닫기를 처리합니다.

관련 문제