2013-07-23 1 views
2
$(function() { 
    $('#nav').data('size', 'big'); 
}); 

$(window).scroll(function() { 
    if ($(document).scrollTop() > 0) { 
     if ($('#nav').data('size') == 'big') { 
      $('#nav').data('size', 'small'); 
      $('#nav').stop().addClass('nav-min'); 
     } 
    } else { 
     if ($('#nav').data('size') == 'small') { 
      $('#nav').data('size', 'big'); 
      $('#nav').stop().removeClass('nav-min'); 
     } 
    } 
}); 

.. 완벽하게 작동하지만 메뉴가 정상에서 최소로 점프합니다. 어떻게 든 전환하여 전환이 원활 해 보이니 가능합니까?전환 애니메이션이있는 끈적한 헤더

감사

+0

당신은 아마 클래스를 변경하지 않고 (또는 결합)보다) 애니메이션을 (사용해야합니다. – isherwood

답변

3

변화 클래스를 애니메이션하려면 ...

$('#nav').stop().animate({...}, 999, function() { 
    $('#nav').addClass('nav-min'); 
}): 
+0

감사하지만 애니메이션을 적용 할 것이 없습니다. 클래스를 추가하는 것은 전환하는 동안 자동으로 애니메이션을 적용하려는 많은 작업을 수행합니다. – 3zzy

+0

나는 잘 모르겠다. 당신은 당신의 수업이 적용되는 것들을 움직여야 만합니다. 클래스에 더 이상 사용하지 않으면 폐기하십시오. 다른 작업의 선택기로 사용하는 경우에는 그대로 두십시오. – isherwood

+0

클래스는 nav의 높이를 줄이고 배경과 숨김 및 특정 요소를 변경했습니다. 나는 animate()를 통해 모든 것을 할 수 없다. – 3zzy