图片按需加载(判断一个元素是否在可视区)思路

首先html代码结构如下

<body>
    <div id='container'>
    ```
     其他内容
    ```
<div id='abc'> 是否在可视区 </div> </div> </body>

思路一:  

首先获得屏幕可用宽度:

    var total = document.body.offsetHeight

  获得abc距文档顶部高度

    var a = document.getElementById('abc').getBoundingClientRect() 获得一个对象如下

  a.top即为所需要的距离滚动元素顶部距离。如果a.top>total 说明元素目前不可见

  现在只需要获得元素滚动的长度即可判断元素是否在可视区内

    var scroll = document.getElementById('container').scrollTop//滚动距离

  scroll + total > a.top 元素可见

思路二: 

监听滚动事件 一直取值 document.getElementById('abc').getBoundingClientRect();判断top是否小于屏幕高度

猜你喜欢

转载自www.cnblogs.com/yiangli/p/10077113.html