2013-04-08 39 views
0

我如何使用position:fixed;對於我的菜單,當它不是網站上的第一個元素時。 我的標誌是網站上的首選項目,之後是菜單。當我向下滾動頁面時,我希望菜單成爲頂層元素。我怎樣才能做到這一點?和只有CSS可能嗎?固定菜單頂部但不是第一個元素

回答

0

這將需要使用javaScript,但可以很簡單地完成。

JsFiddle

HTML

<header> 
    <p class="site-title"> 
     <a href="#">Your logo here</a> 
    </p> 
    <nav> 
     <ul> 
      <li><a href="#">Home</a></li> 
      <li><a href="#">About</a></li> 
      <li><a href="#">Contact</a></li> 
     </ul> 
    </nav> 
</header> 

CSS

ul{ 
    background-color: red; 
    margin: 0; 
} 

ul li{ 
    display: inline; 
} 

.fixed{ 
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
} 

jQuery的

$(function() 
    { 
     // Get the initial position of the menu. 
     var menuTop = $('nav').offset().top; 

     $(window).scroll(function() 
     { 
      // Check position 
      if ($(window).scrollTop() > menuTop) 
      { 
       $('nav').addClass('fixed'); 
      } 
      else 
      { 
       $('nav').removeClass('fixed'); 
      } 
     }); 
    }); 
+0

感謝您的快速響應。我已經嘗試瞭解決方案,但我似乎無法使其工作。該代碼已導入正常,我試圖禁用所有現有的JavaScript代碼的菜單,但它仍然無法正常工作。你有什麼線索什麼是錯的? (當你不瞭解所有事實時,我知道這很難,但是如果你對可能出現的問題有所瞭解,我將非常感激 – user2258420 2013-04-08 21:03:17

+0

你可以將你的代碼作爲JsFiddle發佈,然後我可以爲你尋找。 – 2013-04-09 07:46:18

+0

嗨,我已經建立在joomlart的Joomla cms系統的免費框架「T3」上。 – user2258420 2013-04-09 19:07:28

相關問題