2013-07-23 3 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

Класс уменьшает высоту навигатора, меняет фон и скрывает и некоторые элементы. Я не могу сделать все это через animate() – 3zzy