我与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的工作并不多!我不知道我怎么能这样做。我希望有人能帮助我
答案 0 :(得分:2)
我的建议是:
1)。使用root div id获取当前的html。(即$('#testBlock')。html());
2)在你从上面命令获得的html中放置一个div。添加div中的当前消息。
答案 1 :(得分:0)
您可以使用append
功能添加新的HTML标记
$('.showMsgArea').append(msg);