JQuery:如何计算要在容器中显示的行数
JQuery: How to calculate the number of rows to show within a container
有点难以解释,但让我试试:
我想把一张桌子放在一个容器里。这个容器有一个固定的高度,比如500px,表相当长,比如2100,每行的高度可以不同。
当创建表时,所有的行都是不可见的,现在我想根据容器的高度进行计算,以找出容器内应该出现多少行。它可以是前15行或前17行(因为有些行的高度更大)。
在我这样做之后,我让这些行在那里停留一段时间,然后再次隐藏它们,并进行另一次计算以获取下一页,等等…现在最困难的部分是我如何使用jquery进行计算?
您可以使用jQuery.innerHeight
和jQuery.outerHeight
函数获得浏览器计算的高度。因此,您可以首先获得容器的计算高度。然后,您可以遍历行并添加它们的计算高度,直到总和大于容器的计算高度为止,依此类推。
希望这能有所帮助。
这并没有解决"停留一段时间并在一段时间后获取下一组行"部分,但这里有一个简单的高度计算,显示了适当的行。
http://jsfiddle.net/yvAtW/
JS-
allowedHeight = $("div").height();
actualHeight = 0;
$("tr").each(function(){
actualHeight += $(this).height();
if(actualHeight < allowedHeight) {
$(this).show();
}
});
HTML
<div>
<table>
<tr class="height0">
<td>Row</td>
</tr>
<tr class="height1">
<td>Row</td>
</tr>
<tr class="height2">
<td>Row</td>
</tr>
<tr class="height1">
<td>Row</td>
</tr>
<tr class="height0">
<td>Row</td>
</tr>
</table>
</div>
CSS
div{
height:100px; /* fixed height container */
overflow:hidden; /* Ensures no overflowing content if JS doesn't work */
padding:10px 15px;
background:#777;
}
table{
width:100%;
}
tr{
display:none; /* all hidden by default */
}
/* different height trs */
.height0{
height:20px;
background:#900;
}
.height1{
height:30px;
background:#090;
}
.height2{
height:40px;
background:#009;
}
遍历行的高度总和。一旦你超过500行,除了最后一行,就把这一组行拿走。显示这些。使用某种标记,可能是一个变量或一个数据注释来跟踪您所处的位置。
也许你可以这样做:
fits = true;
while(fits){
$(table).append('<tr>...</tr>');
if($(table).css('height') >= $('#container').css('height'))
fits = false;
}
相关文章:
- JavaScript循环无法正确计算/显示结果
- 在Javascript中计算并显示具有2个税收百分比的现有总值
- 当我将子项从一个父项移动/复制到另一个父级时,如何重新计算显示
- 我有一个字段计算,如果结果低于 60,则需要显示最小值
- Chrome 开发工具:如何计算加载弹出窗口并将其显示在页面上所需的总时间
- 如何使用jQuery计算和显示font-awesome的评级
- Angular2 在模板中显示计算数据
- 如何在模态助推器中显示计算结果(JS)
- 如何计算一个函数在javascript中运行的次数?然后在页面上显示
- jquery计算的列表项未正确显示
- JQuery:如何计算要在容器中显示的行数
- 如何使用谷歌地图自动计算和显示机场的最近距离?使用jquery或javascript
- 计算文本字段的数量&在另一页中显示总数
- javascript/html获胜't显示计算结果
- D3是如何计算此图表上显示的日期值的
- 如何仅按名称计算元素长度,而不是使用 javascript 显示 non
- 以完整格式显示时间计算
- 显示输出计算的Javascript
- 显示并计算javascript测试的分数
- 在跨度中显示 js 计算结果