AJAX 聊天,自动滚动窗口

Posted

技术标签:

【中文标题】AJAX 聊天,自动滚动窗口【英文标题】:AJAX chat, auto scroll window 【发布时间】:2010-10-18 23:22:10 【问题描述】:

复制

Scrolling Overflowed DIVs with javascript


我有一个 AJAX 聊天,它将消息输出到带有溢出的 div: auto 所以如果它变得太长,滚动条就会出现。有没有办法让它在添加新消息时自动滚动到底部?最好使用jQuery?

【问题讨论】:

@Brandon:这个问题已经被问及回答了;我已在您的顶部添加了指向现有讨论的链接。 【参考方案1】:

下面这行就可以了

$("#youChatDiv").attr( scrollTop: $("#youChatDiv").attr("scrollHeight") );

这样做是将滚动设置为自己元素的高度

只需在每条新消息中调用它即可:)

干杯

【讨论】:

scrollTopscrollHeight 属性现在是属性,因此您应该使用 prop 而不是 attr【参考方案2】:

属性 scrollHeight 是理想的,但它不是 W3C 的一部分。

如需进一步了解,请访问:

http://yelotofu.com/2008/10/jquery-how-to-tell-if-youre-scroll-to-bottom/

【讨论】:

【参考方案3】:

如果每条消息都在一个单独的元素中(div、段落等),您只需调用scrollIntoView

【讨论】:

【参考方案4】:

这个 Jquery 插件会帮助你。

Jquery ScrollTo plugin demo page

【讨论】:

以上是关于AJAX 聊天,自动滚动窗口的主要内容,如果未能解决你的问题,请参考以下文章

让DIV的滚动条自动滚动到最底部 - 3种方法

自动向下滚动聊天 div

如何自动向下滚动 - 与 django 聊天应用程序

添加新项目时Android Firebase聊天RecyclerView自动滚动到底部

使用ajax滚动div不起作用

PyQt4 和 QtWebKit - 如何自动滚动视图?