繁体   English   中英

滚动到下一个div时更改位置?

[英]Change position when scrolling until next div?

以下JavaScript似乎运行良好,直到我发现div的高度(id =“ fixed”)对于所有页面都不相同。

<script>
  window.addEventListener("scroll", function() {
    if (window.scrollY >= 450) {
      document.getElementById('fixed').style.position = 'relative';
    }
    if (window.scrollY <= 450) {
      document.getElementById('fixed').style.position = 'fixed';
    }
  });
</script>

因此,我想对它进行调整,使div的位置只要滚动到id =“ next-to-fixed”的下一个div中,就可以更改。

我看到了另一篇文章,该文章为此实现了jQuery,但我只想使用简单的JavaScript,因此,如果有人可以通过实现此目的的方式说明我,那将是非常不错的。

试用:

  <script>
  window.addEventListener("scroll",function() {
  var elm1 = document.getElementById('product-essential');
  if(window.scrollY >= elm1.clientHeight) {
  document.getElementById('fixed').style.position = 'relative';
  }
  if(window.scrollY <= elm1.clientHeight) {
  document.getElementById('fixed').style.position = 'fixed';
  }
  }
  );
  </script>

这是您如何读取divheight的方法:

var clientHeight = document.getElementById('myDiv').clientHeight;

从这里开始使用clientHeight

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM