聊天&使滚动条设置在底部并附加新消息。

时间:2014-03-28 13:13:43

标签: javascript php ajax chat

大家好,我正在社交网站上工作,我有一个聊天框。 一切都在聊天室工作正常,除了我必须在每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');

3 个答案:

答案 0 :(得分:0)

我的建议是在这种情况下使用sockets 尝试this示例

答案 1 :(得分:0)

我建议您探索推送器等服务,这样您就不必继续拉动。 http://pusher.com/

答案 2 :(得分:0)

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