2015-02-02 4 views
0

Желательно, чтобы мой навигатор имел эффект slideDown вместо fideIn. Возможно?slideDown/slideUp для полосы прокрутки

Это код с .fideIn:

$(document).ready(function() { 
    $("#navbar").hide(); 

    $(window).scroll(function() { 
     $("#navbar").fadeIn(500); 

     if ($("body").scrollTop() == 0) { 
      $("#navbar").fadeOut(500); 
     } 
    }); 
}); 

Demo

Я попытался изменить .fadeIn -> slideDown но эффект не наблюдается. Зачем? Я делаю некоторые ошибки? Или невозможно применить такой эффект?

+0

Просьба представить демонстрацию проблемы, в том числе ваш HTML в упрощенном виде. http://jsfiddle.net – isherwood

+0

http://jsfiddle.net/vb986uth/2/ – Skyne

+0

Что бы я нажал в этой демонстрации? Удалите все несвязанные элементы кода и дизайна. – isherwood

ответ

0

Я предполагаю, что вы используете position:fixed;. В этом случае вы, скорее всего, захотите указать ширину, если вы тестируете без содержимого на #navbar. Вот краткий пример: http://jsfiddle.net/82xara3x/

$(document).ready(function() { 
    $("#navbar").hide(); 

    $(window).scroll(function() { 
     $("#navbar").stop().slideDown(500); 

     if ($("body").scrollTop() == 0) { 
      $("#navbar").stop().slideUp(500); 
     } 
    }); 
}); 

#navbar { 
    background: #000; 
    height: 50px; 
    width: 100%; 
    position: fixed; 
    top: 0px; 
} 

прокрутки вниз, и вы должны увидеть его. Надеюсь это поможет!

Редактировать: Показаны ваши HTML и CSS, которые помогут вам в решении вашей проблемы.

0

Попробуйте брата

$(window).scroll(function(){ 
     if($(this).scrollTop() > 1){ 
      $("#navbar").animate({top:0}, 800); 
     }else{ 
      $("#navbar").animate({top:'-100%'}, 800); 
     } 
});