javascript - 如何通过add fixed避免内容跳转?

标签 javascript jquery css

我在滚动条上创建了一个粘性标题。唯一的问题是,当我向下滚动 1000px 时,类 sticky 被添加到标题中,之后,内容同时有一点跳跃当类 sticky 添加到标题时。我认为这变成了,因为 header 在视觉上标记中的那个地方不再存在。

我试图为页眉添加一个特定的高度。还围绕 container 包装了一个 div,因此 sub-header 保留在该位置,但没有成功。 我应该如何解决这个问题?

在线代码:http://codepen.io/anon/pen/qbaQvL?editors=110

最佳答案

当粘性激活时,您还需要将 about 元素的 margin-top 设置为等于粘性的高度。

应该是这样的:

if (windowPos >= content) {
  $('#sub-header').addClass('sticky');
  $('#about').addClass('sticky-active');

} else {
  $('#sub-header').removeClass();
  $('#about').removeClass();
}
#about.sticky-active {
  margin-top: 96px;
}

我也制作了一个工作版本的codepen。可以看看here .

关于javascript - 如何通过add fixed避免内容跳转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34479798/

相关文章:

javascript - HTML:如何移动对象的位置?

javascript - 如果 div 包含某个单词,替换它所在的整个句子?

javascript - 网页上的实时监控图表

Javascript touchmove事件仅水平滚动而不是垂直

javascript - JQueryUI 对话框窗口不在我的 DIV 内,位于正文下方。如何保留在我的 div 中?

html - 捕捉移动CSS媒体查询的最佳方式

jquery - YouTube 关于 colorbox 的视频描述

css - 将按钮定位在 Bootstrap 轮播中的链接上

java - jscookmenu 主题工作室

javascript - 包含的文件中抛出引用错误...除非调用文件包含缓慢的代码