var obj = $('.countdown').get(0); var top = obj.getBoundingClientRect().top; //元素顶端到可见区域顶端的距离 console.log(obj) var se = document.documentElement.clientHeight; //浏览器可见区域高度。 if(top <= se ) { //code }
//js代码
//懒加载
var viewport=window.innerHeight;//获取浏览器视口高。
var img=document.querySelector('#imgs'); //获取html ID
var src=img.dataset.src; //获取src链接
//监听滚动
window.onscroll=function(){
//用到getBoundingClientRect api的top属性,获取元素的偏移位置,参考MDN资料
//https://developer.mozilla.org/zh-CN/docs/Web/API/Element/getBoundingClientRect
var imgtop= document.querySelector('#imgs').getBoundingClientRect().top;
if(imgtop<=viewport){
img.src=src;
return true;
}
}
感觉代码没补全,只能表达所理解的意思了
条件不够,如果节点在文档下面,刚好大于窗口高度,就看不见了,当滚动的时候,还需要获取滚动条的高度,然后滚动条的高度加窗口的高度大于节点的偏移距离,就表示节点可以看见了。
窗口高度+滚动条高度>节点偏移的高度就可以了。
进入可视区域就返回true