Jquery使div总是滚动到底部

时间:2012-06-05 14:54:46

标签: javascript jquery scroll

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

6 个答案:

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

DEMO http://jsfiddle.net/Mdzmx/

答案 2 :(得分:2)

尝试类似的东西:

创建一个类似<a id='bottomDiv'></a>的锚点,然后插入一个类似document.getElementById('bottomOfDiv').scrollIntoView(true);

的javascript

我在这里举了一个例子 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);