React中检查元素(node)是否可见

 checkVisibleInDocument=(node)=> {
    if (!(node.offsetHeight || node.offsetWidth
      || node.getClientRects().length)) {
      return false;
    }
    // 获取元素的高度和元素顶部相对视口的距离
    const { height, top } = node.getBoundingClientRect();
    const windowHeight = window.innerHeight || document.documentElement.clientHeight;
    // 只需要确定元素顶部相对视口左上角的垂直距离小于视口的高度且元素底部相对视口左上角的垂直距离
    // 大于0
    return (top < windowHeight) && (top + height > 0)
  };
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容