原生js - 触底加载

  1. 触底的条件:
    if (scrollTop + clientHeight >= scrollHeight)
    // 页面滑上去的不可见高度 + 除去滚动条的屏幕可见高度 >= 整个页面的高度

  2. scrollTop、 clientHeight、scrollHeight的区别:
    原生js - 触底加载_第1张图片

  3. 加loading的注意事项:
    不要用if使得loading这个div节点时有时无,因为这样会再次触发“触底条件”,可以这样:

 <div 
     className="flex-double-center" 
     style={{ height: 100, visibility: loading ? "" : "hidden" }}
 >
 // 这样使用visibility就可以实现加载过程中有loading,加载到底部还有空白占位
    <div className="see-more-loading-first-layer">
        <div className="see-more-loading-icon" />
    </div>
</div>

你可能感兴趣的:(面试知识网,javascript,前端,开发语言)