开发者社区> 问答> 正文

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

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

展开
收起
小旋风柴进 2016-03-26 04:27:11 1999 0
1 条回答
写回答
取消 提交回答
  • 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)();
    2019-07-17 19:15:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript异步编程 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载