javascript - 如何查询溢出隐藏区域中的元素:滚动
问题描述
是否可以查询位于具有 的父元素的“隐藏区域”中的所有对象overflow:scroll
?
有一个父<div>
容器style="overflow:scroll;height:200px"
。此容器包含一个表。查看示例代码:
<div id="scrollContainer" style="overflow:hidden;height:200px">
<table>
<tr>
<td>...</td>
<tr>
<tr>
<td>...</td>
<tr>
...
...
</table>
</div>
我怎样才能得到所有看不见的列表<tr>
?
解决方案
第一个问题:
是的,它就是。JS 不太关心元素是否可见,它关心元素是否在 DOM 中。
因此,无论它们当前是否在屏幕上可见,document.getElementsByTagName('tr');
都将返回所有s。 <tr>
第二个问题(?):
如果要特别选择在这个特定时刻在屏幕上可见(或不可见)的元素,您可以.getBoundingClientRect();
按照此处所述使用。
或者,如果您确实非常关心这些元素的可见性并经常检查它,那么制作类似于轮播或其他“受控”元素的东西可能是一个更好的主意。
通过这种方式,您将能够跟踪其状态并准确了解每个元素的可见性。
推荐阅读
- python - 如何从下一行中获取与 Pandas 中的条件匹配的值?
- javascript - Google Chrome 与 Edge 中的 Html 动画不同。自动播放解决动画的帮助?
- sql-server - 在每一行上显示计数,根据特定条件计算有多少行
- matlab - 使用 Matlab 进行 NN 训练:train() 函数输出与 MSE 错误不一致
- c - C 宏 - 返回一个指针或为传递给宏的指针赋值
- google-apps-script - 通过 Google Apps 脚本将查看器添加到 Google 电子表格时如何发送自定义消息?
- android - 如何将此数据添加到 Firebase?
- azure-sql-database - 动态系统功能所需的权限
- java - 如何使用 javafx 执行 Timer 类,其中 javafx 对象更改
- ios - 如何在 Swift 中使用 CAShapeLayer 为 CALayer.SubLayer 创建橡皮擦