IntersectionObserver API 使用教程

http://www.ruanyifeng.com/blog/2016/11/intersectionobserver_api.html

判斷元素是否在可視區(qū)域內(nèi):
方法一:

function isInSight(el) {
    const bound = el.getBoundingClientRect();
    const clientHeight = window.innerHeight;

    //如果只考慮向下滾動加載
    //const clientWidth = window.innerWeight;
    if ( (bound.top + bound.height) < 0 ){
         return true;
    } else {
         return false;
    }
}

window.addEventListener('scroll', function(){
    let obj = document.querySelector('.parent');
    console.log(isInSight(obj))
})

方法二:

var intersectionObserver = new IntersectionObserver(
    function (entries){
        // 如果不可見,就返回
        if ( entries[0].intersectionRatio <= 0 ){
             console.log('不可見')
        } else {
             console.log('可見')
        }
    }
)

//開始觀察
intersectionObserver.observe(
    document.querySelector('.parent')
)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容