2013-08-05 153 views
1

我搜索了一下,发现了一些解决这个问题的方法,但是没有一个能够解决我的问题。我已经在底部如何使动态内容的div自动滚动到底部?

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

试图隐藏的投入,滚动到,该留我试图

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

和其他几个人。这是我的情况

我有一个聊天室(http://novaplasm.topiacloud.com/Chat)。当你输入任何东西时,它会使用Knockout将它输入到div“邮箱”中。每次输入新内容时,都会附加它。我想做到这一点,以便您随时可以看到最新消息,而无需自己翻阅。我似乎无法为我的生活做到这一点。先谢谢了!

+0

是否$( “#邮箱”)[0] .scrollHeight返回大于0的值? – Dilantha

+0

@Dilantha我得到“Uncaught TypeError:无法读取未定义的属性'scrollHeight' – Beaurocks16

回答

1

第一次进入你的邮箱的引用,聊天消息DIV

var pbox = $('#postbox'); 

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

这里味精是你的聊天信息

然后,你必须使用“动画”的方法是这样

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

+0

我将如何定制这个工作在我当前的代码? chat div会成为我的“发布”类还是我的“发布”类?去网站和检查元素,看哪个是哪个。 – Beaurocks16