javascript 元素在视口中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 元素在视口中相关的知识,希望对你有一定的参考价值。

isViewport(el) => {

    const rect = el.getBoundingClientRect();
    // DOMRect { x: 8, y: 8, width: 100, height: 100, top: 8, right: 108, bottom: 108, left: 8 }
    const windowHeight = (window.innerHeight || document.documentElement.clientHeight);
    const windowWidth = (window.innerWidth || document.documentElement.clientWidth);

    // http://stackoverflow.com/questions/325933/determine-whether-two-date-ranges-overlap
    const vertInView = (rect.top <= windowHeight) && ((rect.top + rect.height) >= 0);
    const horInView = (rect.left <= windowWidth) && ((rect.left + rect.width) >= 0);

    return (vertInView && horInView);
}

以上是关于javascript 元素在视口中的主要内容,如果未能解决你的问题,请参考以下文章

javascript JavaScript:视口中的元素是什么?

javascript 如果指定的元素在视口中可见,则返回true,否则返回false

javascript 视口中的元素是?

获取视口Java语言中的所有元素

在视口上为 SVG 元素设置动画

javascript插件仅在鼠标进入视口时起作用