javascript - 如何使类滚动位置相关?

标签 javascript jquery css

因为我使用静态数字 CodePen 是否有更好的方法来做到这一点

var div = $('.fclass');
var par = $('.sclass');
const pos = par.position().top;
$(window).on('scroll',()=>{
  if((par.position().top - pos) > -76){
    div.removeClass('fixed');
  }
  if((par.position().top - pos) == 18){
    div.addClass('fixed');
  }

});
.fixed {
  position: fixed;
  top: 0;
}

.sticky {
  position: -webkit-sticky;
  /* Safari */
  position: sticky;
  top: 0;
}
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<div class="fclass fixed">
    the first div
</div>
<div style="height: 1000px;"></div>
<p class="sclass sticky">
    the second paragraph
</p>
<div style="height: 1000px;"></div>

最佳答案

我认为根本不需要 js 滚动事件..良好的 Html 结构和 css Sticky 可以为您做到这一点

.paragraph{
  height : 1000px;
}
.fixed {
  position: fixed;
  top: 0;
}

.sticky {
  position: -webkit-sticky;
  /* Safari */
  position: sticky;
  top: 0;
  background : red;
  color : #fff;
}
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>

<!-- Paragraphs holds paragraphs -->
<div class="paragraphs">

  <!-- First paragraph -->
  <div class="paragraph">
    <h1 class="paragraph-head sticky">First Paragraph</h1>
    <div class="paragraph-content">
      First paragraph content
    </div>
  </div>
  
  <!-- Second paragraph -->
  <div class="paragraph">
    <h1 class="paragraph-head sticky">Second Paragraph</h1>
    <div class="paragraph-content">
      Second paragraph content
    </div>
  </div>
  
  <!-- Third paragraph -->
  <div class="paragraph">
    <h1 class="paragraph-head sticky">Third Paragraph</h1>
    <div class="paragraph-content">
      Third paragraph content
    </div>
  </div>
</div>

关于javascript - 如何使类滚动位置相关?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57540513/

相关文章:

javascript - 我可以将导入语句提取到不同的文件吗?

javascript - 类型错误 : Cannot read property 'id' of undefined in nodejs

javascript - 使用 css 显示或隐藏表中的元素,javascript 每次都将数据表滚动到顶部

html - 绝对定位的 div 在 safari 中 float

javascript - HTML 表 : Word Break AND Limit Td Height?

javascript - 有没有办法使用谷歌文档查看器显示javascript blob(.pdf)而不在本地保存文件?

javascript - Typescript 中带有函数的映射类型

javascript - NWJS (node-webkit) 窗口功能不起作用

javascript - 如何在 slider 悬停时暂停

jquery - 运行此 jquery 脚本时 Safari 和 Chrome 崩溃