javascript - 如何检查滚动是否靠近底部
问题描述
我的 React 应用程序中有下拉列表:在底部滚动时,我正在从后端获取下一个元素,因此我的下拉列表是动态的。我想知道我是否在列表的底部 - 然后我想获取下一个元素。如何检查是否该获取下一个元素?
<Content>
<MySelectField onClick={handleOnClick} onScroll={handleOnScroll}>
function handleOnScroll(e) {
const { scrollTop, scrollHeight, offsetHeight } = e.target;
if (offsetHeight - scrollTop < 50) {
handleLoadNextElements();
}
}
当我位于可滚动列表的底部时,我应该使用什么条件来获取下一个元素?
解决方案
这应该适用于垂直滚动。基于检测用户何时使用 React js 滚动到 div 底部的解决方案
function handleOnScroll(e) {
const bottom = e.target.scrollHeight - e.target.clientHeight <= e.target.scrollTop + 50;
if (bottom) {
handleLoadNextElements();
}
}
如果你想与移动设备完全兼容,你可能想看看这个库,它可以在移动设备上完美运行。反应底部滚动监听器
推荐阅读
- javascript - 命令 `yarn add react-native --exact` 失败
- javascript - 为什么我的代码返回数组的最后一个值,而不是返回每个项目的结果?
- java - Micronaut 和 JUnit 回滚
- android - 如何切换到 Corona SDK 中的另一个场景?
- c# - 使用 LINQ 从数据表中的序列中选择最大值和最小值
- ajax - 如何在 Laravel 中使用 Ajax 单击时验证模态表单
- javascript - 如何使用 javascript 验证 html 代码?
- sqlplus - 如何在 D 盘中打开包含 SQL Plus 中的插入语句的文本文件
- python - Keras 中的损失函数与类比函数不匹配
- c++ - 如何清除arduino输出串行窗口中的垃圾字符?我需要使用软件串口发送和接收字符