gpt4 book ai didi

javascript - jquery/javascript setInterval

转载 作者:行者123 更新时间:2023-12-01 01:56:04 26 4
gpt4 key购买 nike

目前我正在开发一个用户通知提醒消息功能。

我设法使用 setInterval 来控制我的 Ajax 调用(以检查是否有用户的任何通知消息)。但我的问题是我只想要通知消息在页面上出现一次(现在它在屏幕上显示多个通知警报消息)。我知道您可以使用 setTimeout 让它只调用一次,但我还需要该页面每 5 分钟检查一次是否有新的通知消息提醒。

第二个问题是否有可能第一轮立即调用 Ajax 调用,然后每 5 分钟调用所有其他调用?因为我希望系统在他们登录系统后立即检查一次,然后每 5 分钟检查一次。

这是我的代码

function getAjaxNotice() {
$.post("/async/getnotification", {},
function(response) {
var notice = $(response);
$("#notices").prepend(notice);
});

return false;
}

setInterval("getAjaxNotice()", 50000);

最佳答案

首先,您应该将初始化代码包装在 onLoad 函数中:

$(document).ready(function() {
// Put all your code here
});

让它出现一次很容易,使用 .html() 来设置内容而不是添加内容:

$("#notices").html(notice);

第三,作为风格注释,您不应将字符串传递给 setInterval()。相反,传递一个函数名称:

setInterval( getAjaxNotice, 50000 );

最后,要使其立即调用该函数,并每 5 分钟后再次调用,请使用:

// Set the timer
setInterval( getAjaxNotice, 50000 );
// Call it once now
getAjaxNotice();

另请注意,50000 是 50 秒,而不是 5 分钟。 5 分钟就是 5 * 60 * 1000 = 300000。

关于javascript - jquery/javascript setInterval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5489917/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com