我有一个包含表格的 div。该表是动态更新的,并在用户使用我们的网站时填充数据。是否可以强制此 div 始终滚动到底部?这样用户将始终能够看到添加的最底部的表格行。谢谢!
问问题
12143 次
6 回答
4
那会是这样的
...onRowAdded = function() {
$('#myTable').animate({scrollTop: $('#myTable').attr('scrollHeight')});
};
请注意,如果经常添加行,您可能希望在开始时使用 setTimeout 和阻塞变量检查,以防止向下滚动的频率超过每秒两次左右。例如这里讨论了这种技术
更新
从 jQuery 1.6 开始,最好使用 .prop() 而不是 .attr() (请参阅对此问题的评论):
onRowAdded = function() {
$('#myTable').animate({scrollTop: $('#myTable').prop('scrollHeight')});
};
于 2012-06-05T15:10:42.533 回答
2
将更新元素设置为绝对位置和底部:0
于 2012-06-05T15:13:56.510 回答
2
尝试类似的东西:
创建一个像这样的锚<a id='bottomDiv'></a>
并插入一个像这样的javascriptdocument.getElementById('bottomOfDiv').scrollIntoView(true);
我在这里做了一个例子 http://jsfiddle.net/PTmpL/1/
于 2012-06-05T15:24:10.577 回答
0
按照本教程
http://jqueryfordesigners.com/fixed-floating-elements/
但使用bottom
css 属性使最底部的元素在页面上可见
element{
bottom:0;
}
于 2012-06-05T15:05:26.343 回答
0
我建议使用ScrollTo JQuery 插件。只需使用
element.scrollTo('max', {axis: 'y'});
或者
element.scrollTo('max', duration, {axis: 'y'});
这个插件有一个很好的平滑滚动的额外好处。
于 2012-06-05T15:13:08.757 回答
0
我认为这可能是一个简单的解决方案!
element.scrollTo(element.get(0).scrollHeight);
于 2013-07-02T19:44:59.817 回答