【发布时间】:2013-06-04 18:47:04
【问题描述】:
我有一个有很多行的table,这个表绑定在一个具有固定高度的div 中,所以我的表有一个滚动条。现在我怎样才能知道哪些行在视图中?
我为每一行分配了唯一的 ID。 我没有使用任何库,所以在纯 JavaScript 和 IE 中寻找解决方案
我在页面上有一个按钮,其 onclick 应该告诉我该行是否在视图中滚动
function check()
{
var row5 = document.getElementById("r5");
var b = document.getElementById("boundary");
if(!NeedThisFunction(row5,b))
alert("not in view");
else
alert("in view");
}
<button onclick="check()" >Check</button >
<div id="boundary" style="overflow:scroll;height:100px">
<table border="1" >
<tr id="r1">
<td>row 1 col1</td>
<td>row 1 col2</td>
<td>row 1 col3</td>
<td>row 1 col4</td>
</tr>
...
<tr id="r100">
<td>row 100 col1</td>
<td>row 100 col2</td>
<td>row 100 col3</td>
<td>row 100 col4</td>
</tr>
</table>
</div>
【问题讨论】:
-
看起来相似,但那里接受的解决方案对我不起作用:(
-
您是否包含
isElementInViewport的代码? -
@Nitin:你能解释一下什么是有效的吗?你有没有收到错误,或者是什么问题?您遵循了哪个答案(有多个)?如果您只是说“它不起作用”,我们将无法帮助您。
-
是的,我采用了已接受答案的解决方案,但它总是返回“不在视图中”。答案似乎是将整个窗口作为其视口。
标签: javascript