2014-03-13 125 views
-1

我想創建一個浮動菜單,當你向下滾動頁面時浮動。
DEMO
我也想增加菜單的高度,所以我添加了height: 70。現在,我希望當您滾動到頂部時菜單將返回相同,因此我添加了height: nav.height()
代碼不起作用,當您滾動到頂部時,菜單不會返回到其默認高度值。爲什麼高度沒有改變?

在此先感謝。

+0

你nav.height'設置''到nav.height',即那種'一個=了'聲明:新值,之間沒有什麼改變舊的價值。 – sp00m

+0

很可能是你的代碼中有一個錯誤 – Paolo

+0

我更新了鏈接,是錯誤的 – rolory

回答

0

當用戶滾動到頂部時,只需將高度設置爲50。當您開始滾動時,nav.height()將被設置爲70,並且您在用戶再次滾動到頂部時使用此值。

嘗試

$(function() { 

    var nav = $('.navgroups'); 
    var navHomeY = nav.offset().top; 
    var isFixed = false; 
    var $w = $(window); 
    $w.scroll(function() { 
     var scrollTop = $w.scrollTop(); 
     var shouldBeFixed = scrollTop > navHomeY; 
     if (shouldBeFixed && !isFixed) { 
      nav.css({ 
       position: 'fixed', 
       top: 0, 
       left: nav.offset().left, 
       width: nav.width(), 
       height: 70 
      }); 
      isFixed = true; 
     } else if (!shouldBeFixed && isFixed) { 
      nav.css({ 
       height: 50,//<---------HERE 
       position: 'static' 
      }); 
      isFixed = false; 
     } 
    }); 
}); 

DEMO

相關問題