如何在将div添加到div之后将div滚动到底部?

时间:2012-04-27 15:37:48

标签: javascript jquery

所以我目前正在使用this solution通过编写类似

的内容将div滚动到底部
$(document).ready(function() {
    $('#comment_list').scrollTop($('#comment_list').scrollHeight)
}

但是我注意到当我尝试.append()#comment_list的某些内容时,请执行上述代码。它实际上没有滚动到底部(可能.scrollHeight是一个静态值?)。

例如,这不起作用

$('#comment_list').append('<div>something</div>').scrollTop($('#comment_list').scrollHeight)

这也不是

$('#comment_list').append('<div>something</div>')
$('#comment_list').scrollTop($('#comment_list').scrollHeight)

我是否需要使用其他“技巧”或什么?

欢迎任何提示和建议。提前谢谢!

2 个答案:

答案 0 :(得分:3)

这应该可以解决问题:

$('#comment_list').append( '<div>something</div>' );
$('#comment_list').scrollTo( '100%' );

检查this jsFiddle样本。

Source

答案 1 :(得分:0)

scrollTop事件上调用$(document).ready()函数。

将内容附加到客户端的DIV时,不会触发此事件。

因此,在您添加内容后,您需要再次调用scrollTop进行正确设置:

$('#comment_list').append('<div>something</div>');
$('#comment_list').scrollTop('100%');

HTH