[英]How to fix this fixed navigation bar fade in
我有一個固定的導航欄。 我希望僅在將頁面滾動到某個位置后才顯示初始菜單。 我沒有做過工作,但是當我在頂部回滾時,出現未顯示初始菜單的菜單。 我在css中將該類定義為不顯示。 你能幫我嗎? 提前thnx。
$(function(){
var menu = $('#menu'),
pos = menu.offset();
$(window).scroll(function(){
if($(this).scrollTop() > pos.top+menu.height() && menu.hasClass('default')){
menu.fadeOut('fast', function(){
$(this).removeClass('default').addClass('fixed').fadeIn('fast');
});
} else if($(this).scrollTop() <= pos.top && menu.hasClass('fixed')){
menu.fadeOut('fast', function(){
$(this).removeClass('fixed').addClass('default').fadeIn('fast');
});
}
});
});
編輯:嘿,謝謝您的所有答復,所有的都在工作,對不起,如果我要加粗,但是您能幫助我將其顯示到某個位置嗎?比如說您滾動500px然后在相同位置淡出?:)
else if($(this).scrollTop() <= pos.top && menu.hasClass('fixed')){
menu.fadeOut('fast', function(){
$(this).removeClass('fixed').addClass('default').fadeOut('fast');
});
}
代替使用fadeIn淡入
發生這種情況的原因是此行
$(this).removeClass('fixed').addClass('default').fadeIn('fast');
添加類“默認”后,您可以使用fadeIn函數。 jQuery的檢測到淡入效果被施加到具有一個元件display:none
,並增加了新的CSS樣式到該div是display: block
有兩種解決方法。
jQuery方式
更改
$(this).removeClass('fixed').addClass('default').fadeIn('fast');
TO
$(this).removeClass('fixed').addClass('default');
CSS方式
更改.default類中的以下行。
display:none;
TO
display:none !important;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.