2

我有一个包含表格的 div。该表是动态更新的,并在用户使用我们的网站时填充数据。是否可以强制此 div 始终滚动到底部?这样用户将始终能够看到添加的最底部的表格行。谢谢!

4

6 回答 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

演示http://jsfiddle.net/Mdzmx/

于 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/

但使用bottomcss 属性使最底部的元素在页面上可见

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 回答