我有一个包含表格的div。此表已动态更新,并在用户使用我们的网站时填写数据。 是否可以强制此div始终滚动到底部?这样用户将始终能够看到添加的最底部的表行。 谢谢!
答案 0 :(得分:4)
这就像是
...onRowAdded = function() {
$('#myTable').animate({scrollTop: $('#myTable').attr('scrollHeight')});
};
注意,如果经常添加行,您可能希望在开头使用setTimeout和阻塞变量检查,以防止每秒向下滚动两次以上。例如,讨论了这种技术here
更新
从jQuery 1.6开始,最好使用.prop()而不是.attr()(请参阅此问题的评论):
onRowAdded = function() {
$('#myTable').animate({scrollTop: $('#myTable').prop('scrollHeight')});
};
答案 1 :(得分:2)
将更新元素设置为绝对位置和底部:0
答案 2 :(得分:2)
尝试类似的东西:
创建一个类似<a id='bottomDiv'></a>
的锚点,然后插入一个类似document.getElementById('bottomOfDiv').scrollIntoView(true);
我在这里举了一个例子 http://jsfiddle.net/PTmpL/1/
答案 3 :(得分:0)
遵循本教程
http://jqueryfordesigners.com/fixed-floating-elements/
但是使用bottom
css属性来获得最底层的元素,在页面上可见
element{
bottom:0;
}
答案 4 :(得分:0)
我建议使用ScrollTo JQuery plugin。只需使用
element.scrollTo('max', {axis: 'y'});
或
element.scrollTo('max', duration, {axis: 'y'});
这个插件增加了一个很好的平滑滚动的好处。
答案 5 :(得分:0)
我认为这可能是一个简单的解决方案!!!
element.scrollTo(element.get(0).scrollHeight);