聊天,将滚动条设置在底部并附加新消息


Chat & make scroll bar set in bottom and appending new messages.

大家好,我在一个社交网站工作,我有一个聊天框。一切都在聊天框工作良好,除了我必须每5秒后重新加载div,以获得新消息,这对我造成了一些问题,就像相同的数据库查询将在每5秒后一次又一次地运行。而且每次聊天框重新加载时,滚动条都在顶部,我不能将其设置为每5秒滚动到底部,因为可能有人只是在阅读消息,他不想一次又一次地滚动框。简而言之,我想问的是有没有其他的方式在聊天框中获取新消息。如果这是唯一的方法,请告诉我如何为这个逻辑编码如果滚动条距div底部10px以上,则滚动到底部并添加新消息,否则只需添加新消息。

下面是我的代码:
 var autoload1 = setInterval(
    function showthemess1()
    {
    $.ajax({
        type: 'POST',
        url: 'chitchatback2.php', 
        data: {'chattingwith':"<?=$nameIS2['id']?>"},
        success: function(chats){
        $("#chatboxdiv").empty().append(chats);
        } });
    }, 5000);

如果想让滚动条落在底部我可以输入

   $(".bechmsgbox").animate({
scrollTop: $("#chatboxdiv")[0].scrollHeight
},'slow');

我建议在这种情况下使用套接字。
试试下面这个例子

我建议你探索一下push之类的服务,这样你就不用一直拉了。http://pusher.com/

您应该在变量中存储最新请求的帖子ID,仅请求新帖子并附加这些。