gpt4 book ai didi

javascript - JS检测div在屏幕下方的高度

转载 作者:行者123 更新时间:2023-11-28 15:12:26 24 4
gpt4 key购买 nike

所以,我有一个 html 标记如下:

enter image description here

有一个 div 几乎覆盖了页面的整个高度。然而高度是动态生成的。

enter image description here

当用户向下滚动 div 时,如果可见屏幕下方的 div 左侧有 100px,我想触发一个操作(例如,警报)。

由于屏幕尺寸各不相同,我需要一种简单地检测屏幕下方剩余多少 div 的方法。

问题是,我不想不断测量高度变化,因为这对用户端来说可能很“困难”。

一个想法是,也许我会在这个主 div 的末尾有一个“隐藏”div,当它在 View 中时,我会触发一个 Action 。

如您所见,我不确定实现此目的的最佳方法是什么。

如果您需要澄清,请告诉我。

谢谢!

最佳答案

var div = document.getElementsByTagName('div')[0];

window.addEventListener("scroll", function() {
if (window.pageYOffset + window.innerHeight - (div.offsetTop + div.scrollHeight) > -100) {
alert('Less than 100px of div remains below viewport');
}
});
body {
height: 2000px;
}
div {
background-color: lightblue;
height: 1000px;
}
<div></div>

  • window.pageYOffset 是当前从顶部开始的滚动位置,
  • window.innerHeight 是视口(viewport)的高度,
  • div.offsetTopdiv 距顶部的位置,
  • div.scrollHeightdiv 的高度。

整个if代表滚动超出div底部的像素数。超出底部的 -100 表示距离底部还有 100px。

关于javascript - JS检测div在屏幕下方的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35832089/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com