原生js如何判断元素出现在可视区

干货

元素出现在可视区

scorll滑动的距离>=当前元素距离浏览器最顶端的高度+当前元素自身的高度-当前可视区的高度

触底

scorll滑动的距离>=当前scroll总高度-当前可视区的高度

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            *{
                padding: 0;
                margin: 0;
                box-sizing: border-box;
                
            }
            .a{
                width: 100%;
                /*height: 100%;*/
                box-sizing: border-box;
                /*overflow: auto;*/
            }
            .b{
                width: 100px;
                height: 100px;
                border: 1px solid #999;
                background: #f40;
                margin-top: 2000px;
            }
        </style>
    </head>
    <body>
        <div class="a" >
            <div class="b">
                
            </div>
        </div>
    </body>
    <script type="text/javascript">
        let a=document.getElementsByClassName('a')
        let b=document.getElementsByClassName('b')
        window.onscroll=function(){
                        console.log('scroll总高度'+document.documentElement.scrollHeight)
            console.log("滚动条的滚动的高度"+ document.documentElement.scrollTop)
            console.log("元素距离浏览器的高度"+b[0].offsetTop)
            console.log("可视区"+document.documentElement.clientHeight)
            console.log('整体的高度'+(Number(document.documentElement.scrollTop)+Number(document.documentElement.clientHeight)))
        }
    </script>
</html>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容