jquery - 跟踪固定 div 相对于窗口顶部的滚动偏移量

标签 jquery

所以我有一个带有固定导航栏的长滚动单页网站。

通过这个导航栏,我想跟踪它的.offset().top,这样我就可以根据距窗口顶部的偏移量添加或删除类。

Live code link

示例(这是我的逻辑,但我无法使 jQuery 警报正常工作。

$(window).scroll(function () {
  var elem = $('.navigation');
  var topValue = offset.top;
  if (topValue > 400) {
    alert(topValue);
  }
});

最佳答案

尝试jQuery Waypoints 。您无需指定偏移量,而是使用页面上的元素在进入 View 时触发回调:

$(function () {
  $("#map").waypoint(function () {
    alert("Scrolled to #map");
  });
});

编辑:

但是为了正确回答您的问题,您的导航将始终处于相同的位置,因为 position:fixed 相对于视口(viewport)而不是页面定位您的元素。如果您想在没有 Waypoints 的情况下执行此操作,只需检查 body 标记的 scrollTop:

$(function () {
  $(window).scroll(function () {
    var offset = $("body").scrollTop();
    if (offset > 400)
      alert("Scrolled to 400");
  });
});

关于jquery - 跟踪固定 div 相对于窗口顶部的滚动偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11042692/

相关文章:

javascript - 添加内容时如何自动调整div高度?

javascript - jquery .html() 注入(inject)对象与包含对象的变量

javascript - Jquery在具有不同索引的div中显示文本

jquery - 悬停时播放 YouTube 视频

javascript - 如何使用 jquery 创建阅读更多

javascript - 将选择选项附加到文本字段

jQuery FullCalendar 事件通过拖动删除

javascript - PHP通知: Undefined index and Form Fields error

javascript - Jquery ui slider 时间范围

javascript - .html() 在 tizen 中不起作用