目前我正在开发用户通知警报消息功能.
我设法用来setInterval
控制我的Ajax调用(检查用户是否有任何通知消息).但我的问题是我只希望通知消息只在页面上出现一次(现在它在屏幕上显示多个通知警报消息).我知道您可以使用setTimeout
它只调用一次但我还需要页面检查是否每5分钟有一个新的通知消息警报.
第二个问题是第一轮可能会立即调用Ajax,然后每5分钟调用一次所有其他调用吗?因为我希望系统在他们登录系统后立即检查n然后每5分钟一次.
这是我的代码
function getAjaxNotice() {
$.post("/async/getnotification", {},
function(response) {
var notice = $(response);
$("#notices").prepend(notice);
});
return false;
}
setInterval("getAjaxNotice()", 50000);
Run Code Online (Sandbox Code Playgroud)
Sco*_*rie 11
首先,您应该将初始化代码包装在onLoad函数中:
$(document).ready(function() {
// Put all your code here
});
Run Code Online (Sandbox Code Playgroud)
让它出现一次很容易,使用.html()代替设置内容而不是添加内容:
$("#notices").html(notice);
Run Code Online (Sandbox Code Playgroud)
第三,作为样式注释,不应将字符串传递给setInterval().相反,传递一个函数名称:
setInterval( getAjaxNotice, 50000 );
Run Code Online (Sandbox Code Playgroud)
最后,让它现在调用函数,并在每5分钟后再次调用,使用:
// Set the timer
setInterval( getAjaxNotice, 50000 );
// Call it once now
getAjaxNotice();
Run Code Online (Sandbox Code Playgroud)
另请注意,50000是50秒,而不是5分钟.5分钟将是5*60*1000 = 300000.
归档时间: |
|
查看次数: |
11376 次 |
最近记录: |