天天看点

js判断一个元素是否在页面中出现

今天在项目中,遇到一个需求:需要判断当前元素是否出现在页面中,是则发送请求,否则不发。
基于此需求,需要有一个判断当前元素是否在当前页面中的函数。广阅了一些文章之后,总结并实践写出了如下函数,希望可以帮助到有需要的同猿们~
checkInPage = el => {
    const pageHeight = document.documentElement.clientHeight

    const contentTop = el.getBoundingClientRect().top
    const contentHeight = el.offsetHeight

    return (contentTop<pageHeight && contentTop>=0) || (contentTop<0 && (contentTop+contentHeight>0));
}
           
新手上路,希望各路高手指点赐教,也希望可以跟大家分享交流更多技术上的事情~