2013-04-08 44 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

相关问题