首页 > js或者jquery 能不能判断网页内容是否在当前窗口显示

js或者jquery 能不能判断网页内容是否在当前窗口显示

比如说一个网页有很多内容,能不能判断当前窗口显示的是哪一部分,然后对未显示的做一些操作?


getBoundingClientRect() 方法会返回该元素盒模型距离浏览器窗口的 top, bottom, left, right 值,其中上下的值有大于 0 并且左右的值有大于 0 则是证明其处于当前窗口位置。比如你在当前页控制台运行如下代码:

function isShow() {
    var article = document.querySelector("article");
    var box = article.getBoundingClientRect(),
        show = (box.top>0 || box.bottom>0) && (box.left>0 || box.right>0);   
    console.log( "%c$('article') 元素 " + (show?"在":"不在") + "当前窗口中显示", "color:"+(show?"green":"red") );
} 
(window.onscroll = isShow)();

关于函数更多的说明请自行查看 MDN :https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect


document.body.scrollTop可以取屏幕当前滚动到什么位置,document.body.clientHeight可以取当前屏幕的高度,结合这两者可以知道现在显示的是哪块内容。

lazyload。


区分文档坐标和浏览器坐标即可


楼上正解...

【热门文章】
【热门文章】