使用getBoundingClientRect()判断
该方法返回以下几个参数
top:元素上边缘与视窗(浏览器)上边缘距离
left:元素左边缘与视窗左边缘距离
right:元素右边缘与视窗右边缘距离
bottom:元素下边缘与视窗下边缘距离
height:元素自身高度
width:元素自身宽度
结合返回值与window提供的innerHeight属性进行判断
// 判断元素是否在可视范围内
function isView(dm){
let rect = dm.getBoundingClientRect();
return (
rect.top<=window.innerHeight &&
rect.left<=window.innerWidth
)
}