javascript - 当元素位于窗口顶部时添加类

标签 javascript jquery html css

我正在尝试创建粘性标题,当您滚动到一个 div 时,头部状态变得固定并保持在 View 中,当 div 结束并滚动出 View 时,我希望标题成为绝对的并且留在其 parent 的底部。

我已经开始工作了,只是我在努力添加“绝对”类...

https://jsfiddle.net/yw313vf2/1/

function fixTitle() {
  $('.service-pane').each(function() {
    var $this = $(this);
    var offset = $this.offset().top;
    var scrollTop = $(window).scrollTop();

    if (scrollTop > offset) {
      $this.addClass('fixed');
    } else {
      $this.removeClass('fixed');
    }
  });
}

$(window).scroll(fixTitle);

最佳答案

所以我不得不在函数中运行另一个检查,看看当滚动时我的 div 的末尾是否到达窗口的顶部,如果是的话,添加一个额外的类...

function fixTitle() {
  $('.service-pane').each(function() {
     var $this = $(this);
     var offset = $this.offset().top - 50;
     var scrollTop = $(window).scrollTop();

  if (scrollTop > offset) {
      $this.addClass('fixed');
      if ($this[0].getBoundingClientRect().bottom < $('.manifesto').height() + 50) {
          $this.addClass('absolute');
      } else {
          $this.removeClass('absolute');
      }
  } else {
    $this.removeClass('fixed');
  }
});
}

关于javascript - 当元素位于窗口顶部时添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42856077/

相关文章:

html - 如何让内容不离开(轮播BS4)?

javascript - 如何从 URL 将图像插入到 Word 中

javascript - 两部分主页像 tumblr 起始页

javascript - 转换后的 Int 返回 NaN

c# - 缓存局部 View Asp.net MVC 5

javascript - 更新 jQuery Mobile 中动态添加的复选框的视觉样式

javascript - 尝试使用 javascript 和媒体查询更改边距

javascript - 无法从 external.js 文件调用 javascript 函数

jquery - 如何删除焦点输入的默认值

javascript - 如何使移动用户可点击动态电话号码