如何使动态内容的div自动滚动到底部?

时间:2013-08-05 17:43:01

标签: javascript html autoscroll

我已经google了一下,找到了一些解决这个问题的方法,但是在我的情况下它们似乎都没有。我已尝试隐藏输入滚动到底部

document.getElementById('scrollToMe').scrollIntoView();

我试过了

$("#postbox").scrollTop($("#postbox")[0].scrollHeight);

和其他一些人。这是我的情况

我有一个聊天室(http://novaplasm.topiacloud.com/Chat)。当你输入任何内容时,它会使用Knockout将其输入div“postbox”。每次输入新内容时,都会附加新内容。我想做到这一点,你总能看到最新的消息,而不必滚动自己。我似乎无法为我的生活做这件事。先谢谢!

1 个答案:

答案 0 :(得分:1)

首先获取对您的邮箱和聊天消息div的引用

   var pbox = $('#postbox');

   var chat_div = $('<div></div>').attr('class', 'chat_msg').text(msg);

这里的消息是你的聊天消息

然后你必须使用像这样的'animate'方法向下滚动

  chat_div.appendTo(pbox);

   var height = pbox.scrollTop() + pbox.height() +  $('#postbox').filter('.chat_msg:last').scrollTop();

   pbox.animate({'scrollTop' : height}, 1000);

动画发生在1秒以上。

有关jQuery方法的详细说明,请参阅jQuery文档。

Live fiddle example