判断元素是否在可视范围内或是否滚动到底部

判断元素是否在可视范围内

function isVisible(img) {  // 判断元素是否在可视范围
    let {top, right, bottom, left} = img.getBoundingClientRect();
    let vpWidth = document.documentElement.clientWidth;
    let vpHeight = document.documentElement.clientHeight;
    if (((top > 0 && top < vpHeight) || (bottom > 0 && bottom < vpHeight )) && ((right > 0 && right < vpWidth) || (left > 0 && left < vpWidth))) {
        return true
    }
}

判断是否滚动到底部

function  isToBottom() {
        return (document.body.scrollHeight - document.documentElement.scrollTop - document.documentElement.clientHeight) < 5
        // 页面内容高度 - 滚动距离 - 窗口高度; 这种判断方法的好处是不用埋节点来判断是否滚动到底部
         // document.body.scrollTop总是 0 : https://www.jianshu.com/p/b0a39995b11f
    }

你可能感兴趣的:(判断元素是否在可视范围内或是否滚动到底部)