使导航栏粘

时间:2014-04-19 19:56:54

标签: jquery html css sticky

人,

我的网站上有一个导航栏(http://www.mtscollective.com - 'menu-secondary-wrap'),我试图让用户向下滚动时保持在页面顶部。

我已经测试了几个jQuery示例(例如http://www.hongkiat.com/blog/css-sticky-position/),但它们总是带有自己的CSS,这似乎会干扰我已经使用的。

对现有课程来说,最简单/最好的方法是什么?

谢谢! 马里奥

4 个答案:

答案 0 :(得分:5)

使用类似的东西(你可以在浏览器控制台F12中查看)

jQuery(window).scroll(function() {
  if (jQuery(this).scrollTop() > 220) {
    jQuery(".menu-secondary-wrap").css({"position": "fixed", "top": 0, "width": "950px"});
  } else {
    jQuery(".menu-secondary-wrap").removeAttr("style");
  }
});

完全正常工作

答案 1 :(得分:1)

试试这个脚本

jQuery(document).scroll(function() {
    if (jQuery(this).scrollTop() > 175) {
        jQuery('.menu-secondary-wrap').css({
           'position': 'fixed',
           'top': '0',
           'width': '950px'
        });
    } 
    else {
        jQuery('.menu-secondary-wrap').css('position','static');
    }
});

答案 2 :(得分:0)

最简单的方法是让您的标题包装器具有固定的定位和比其他网站内容的包装器更高的z-index ...

示例:

.header-wrapper {
    width: 100%;
    height: 80px;
    position: fixed;
    z-index: 20;
}

.content-wrapper {
   width: 100%;
   margin-top: 80px; // height of header wrapper.
   z-index: 10;
}

然后您的HTML可能如下所示:

<div class="header-wrapper">the header</div>
<div class="content-wrapper">the content</div>

希望这有帮助。

答案 3 :(得分:0)

如果你想要一个简单的解决方案。将position: fixed应用于元素

body {
  padding-top: 50px;
}

/* Header span-24, could not find a proper identifier for it */
.span-24 {
    position: fixed;
    z-index: 99;
    background: #000;
    top: 0;
}