Jquery Chat - 显示新消息

时间:2016-07-07 16:11:12

标签: jquery chat

我与php和jquery进行了聊天。

它工作正常,但我有一点问题:

我每隔5秒加载一次消息,但我加载所有消息而不是滚动到底部。

如何更改此选项以仅加载新邮件:

这是索引中的jquery:

    function LoadChatVerlauf() {

                    $('.messages').empty();

    $.getJSON('infos.php', {'getchat':1 }, function(data) {

                for(var key in data) {
                    var classe = '';


                    if(data[key].chat_username == '<?php echo $user; ?>') {
                        classe = 'i';
                    } else {
                        classe = 'friend-with-a-SVAGina';
                    }

                        $('.messages').append('<li class="'+classe+'"><div class="head"><span class="time">'+data[key].chat_time+', '+data[key].chat_date+' </span><span class="name">'+data[key].chat_user+'</span></div><div class="message">'+data[key].chat_nachricht+'</div></li>');

                    }

            })//.fail(function() { alert('Unable to fetch data, please try again later.') });


        BOTTOM();

    }   

那就是php文件:

if(isset($_GET['getchat'])){


    $array = array();


    $sql = "SELECT user, username, nachricht, date, time FROM chat_verlauf ORDER BY date, time LIMIT 60";

    $res = mysqli_query($db, $sql);

    if(mysqli_num_rows($res) > 0) {

        while($ds = mysqli_fetch_object($res))
        {
            $time = date("H:i:s", strtotime($ds->time));
            $date = date("d.m.Y", strtotime($ds->date));

            array_push($array, array(
                'chat_user' => $ds->user,
                'chat_username' => $ds->username,
                'chat_nachricht' => $ds->nachricht,
                'chat_date' => $ds->date,
                'chat_time' => $ds->time
            ));
        }

        echo json_encode($array);
    } else {

    }



}

和html:

    <ul class="messages">

    </ul>

我对jquery的工作并不多!我不知道我怎么能这样做。我希望有人能帮助我

2 个答案:

答案 0 :(得分:2)

我的建议是:

1)。使用root div id获取当前的html。(即$('#testBlock')。html());

2)在你从上面命令获得的html中放置一个div。添加div中的当前消息。

答案 1 :(得分:0)

您可以使用append功能添加新的HTML标记

$('.showMsgArea').append(msg);