js監聽某個DOM是否渲染完成

//  聲明定時器
var timer = null
//  檢查dom是否執行完成
function checkDom() {
    let dom = document.getElementById('abc')
    if(dom) {
         //  執行dom加載完成後的操作
        doSomething();
        //  清除定時器
        if(!timer) {
            clearTimeout(timer)
        }
    } else {
        //  自我調用
        timer = setTimeout(checkDom, 0)
    }
}
//  首次執行
checkDom()

上面是原生的一種寫法,還有一種更好的方案:MutationObserver,翻譯過來就是變動觀察器,傳送門:https://developer.mozilla.org/zh-CN/docs/Web/API/MutationObserver

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章