javascript - 滚动经过某个元素后,相同的导航栏变得固定

标签 javascript jquery html css

我目前在我的标题中有一个导航栏,我想在用户滚动经过某个元素后固定它。我也想实现与 http://pixelmatters.com 相同的动画效果。

当我说“相同”时,我的意思是使用我在顶部使用的相同导航栏/标题元素,而不是在我的文档中的其他地方使用重复项。

我已经尝试使用下面显示的我自己的代码来实现他的结果。我还包含了我当前设置的 jsFiddle 链接。

jQuery

var bottomElement = $('.dividerWrap').offset().top + $('.dividerWrap').height();

$(window).on('scoll', function() {
  var stop = Math.round($(window).scrollTop());

  if (stop > bottomElement) {
    $('.header').addClass('isFixed');
  } else {
    $('.header').removeClass('isFixed');
  }

});

https://jsfiddle.net/npfc8wsx/1/

最佳答案

我几天前回答过类似的问题。请看一下这段代码:

   $(window).scroll(function () {
      var scrollTop = $(window).scrollTop();
       var scrollToVid = $('#test').offset().top
        console.log(scrollTop); //see window scroll distance //
        console.log(scrollToVid); //see scroll to div offest//

        if ($(window).scrollTop() >= scrollToVid) {
        alert('You reached to the video!');
        }
      });

jSFiddle

Main Question

现在您必须更改一些代码:

   $(window).scroll(function () {
       var scrollToElem = $('.dividerWrap').offset().top

        if ($(window).scrollTop() >= scrollToElem) {
        $('.header').addClass('isFixed');
        } else {
        $('.header').removeClass('isFixed');
        }
      });

关于javascript - 滚动经过某个元素后,相同的导航栏变得固定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36076421/

相关文章:

javascript - 在某些情况下,我发现 (NaN==NaN) 是错误的。它是怎么发生的?

javascript - Apollo 服务器 : How to access 'context' outside of resolvers in Dataloader from REST API Datasource

javascript - 通过 Firefox 扩展检查网络连接

javascript - 使用与所有主要浏览器兼容的 javascript 创建条形图、折线图和饼图时使用什么?

javascript - Pace.JS Qtip 如何忽略 Pace Animation

javascript - React js使用CSS自定义类型文件的输入

javascript - Angular JS 中的 Controller 之间共享数据?

jQuery - 使用每个获取标题属性

Javascript 弹出窗口 - 在 FF 和 Chrome 中有效,在 IE 中失败

html - 是否可以通过父级最大值设置最大图像尺寸?