jquery - 滚动过去后坚持导航

标签 jquery html css scroll

现在,我可以在 div 向下滚动 600px 后将其粘贴到顶部,但我想知道是否有另一种方法可以实现此目的。最好是,一旦它通过导航栏本身,它就会粘住。

var mn = $(".secondary-nav");
    mns = "secondary-nav-scrolled";

$(window).scroll(function() {
  if( $(this).scrollTop() > 600 ) {
    mn.addClass(mns);
  } else {
    mn.removeClass(mns);
  }
});

HTML

<div id="nav" class="secondary-nav one-full column">
    <ul>
      <li><a data-scroll href="#retail">Retail</a></li>
      <li><a data-scroll href="#foodservices">Food Services</a></li>
    </ul>
  </div>

CSS

.secondary-nav {
  z-index: 1000;
}

.secondary-nav-scrolled {
  position: fixed;
  width: 100%;
  top: 0;
}

最佳答案

你也可以使用这个:

$(document).scroll(function(event) {
    var nav = $('#nav').offset().top;

    if( nav >= 600 ) {
        $('#nav').addClass('fixed');
    }else {
        $('#nav').removeClass('fixed');
    }
});

关于jquery - 滚动过去后坚持导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40120827/

相关文章:

jQuery - 将图像包含在具有动态设置宽度的 div 中

html - 除非 li 悬停,否则如何让我的下拉菜单不打开?

html - 如何使多个 div 内联响应?

html - 使用 CSS 隐藏第二行文本

c# - "Please wait, loading..."文本在 asp.net 页面上的 Page_Load

javascript - 我的按钮的 jquery 事件处理程序只工作一次

javascript - 如何在 JavaScript 中创建自己的类似 jQuery 的函数?

jquery - 在悬停时保持元素打开

javascript - 设置 html 输入或文本区域的值

html - 如何复制网站的 CSS 设计