JavaScript AJAX聊天 - 流行日期ASC滚动问题

时间:2013-08-29 11:56:04

标签: javascript jquery html css ajax

我已经有一个关于此问题的stackoverflow问题,但答案是不够正确的,这次我想以不同的方式解释更多我想要的东西,为不同的产品。

首先,如何加载AJAX聊天消息?

  • 我是否需要每隔几毫秒发送一个AJAX请求来检查是否有新消息,然后使用时间戳加载新消息?或者我只需要重新加载所有消息并用几毫秒的新消息列表替换div?

问题

好的,我的聊天目前每隔5,000毫秒加载所有邮件。 因此,当发布新消息并重新加载聊天时,滚动将保持在同一位置,并且下面会显示新消息。

正如你所看到的,在stackoverflow聊天中,它会以某种方式自动上升,当出现新消息时,新消息会以某种方式在聊天的底部滑动,而旧消息只是在它之上而没有任何滚动,但滚动变得更大&我可以向上滚动查看较旧的消息。

肮脏的解决方案1:重新加载后滚动向下滚动到底部,这真的很烦人。

最终解决方案:检查用户的滚动位于底部,如果是 - 加载新消息并立即向下滚动。如果滚动不在聊天的底部,则聊天不会向下滚动。

但是这些解决方案非常糟糕,我想做一些类似stackoverflow聊天的事情,它可以完美地滑动新消息,而无需任何滚动。

此问题是否有有效解决方案?我想我不是唯一有这个问题的人。

0 个答案:

没有答案