【发布时间】:2015-06-02 09:57:30
【问题描述】:
我正在尝试做的是检测是否有任何新消息添加到 mysql 数据库中的对话中。如果有我想用JavaScript滚动到页面底部到最后一条消息。
$(document).ready(function() {
var prevdata;
var interval = setInterval(function() {
$.ajax({
url: 'inc/aj_chat.php',
success: function(data) {
$('#messages').html(data);
afterdata = data;
}
});
setTimeout(function() {
alert(prevdata);
if (prevdata != afterdata) {
// Scroll Down function
}
prevdata = afterdata;
},1);
}, 3000);
});
如您所见,我有一个 setInterval 循环每 3000 毫秒刷新一次,并且我试图将前一个循环中的变量传递到下一个循环中以进行比较。首先,这是实现这一目标的最佳方法,其次,如果它是我该怎么做?
【问题讨论】:
-
我认为最好的方法是使用 websockets...
-
我同意@JeroenBellemans。 Websockets 是聊天系统的更好选择。至于你的问题:如果滚动已经在底部,我会自动向下滚动。如果您尝试搜索较旧的消息并且每次出现新消息时都会弹出滚动条,这可能会非常烦人。
-
好的,假设我使用 ajax 作为后备技术,实现我想要的效果的最佳方法是什么?
标签: javascript php jquery mysql ajax