jQuery自动循环代码..ajax?
我有一个小脚本,可以检查cookies,我想知道我如何才能做到这一点,使它自动而不是在页面刷新 我的代码是:jQuery自动循环代码..ajax?,jquery,ajax,loops,Jquery,Ajax,Loops,我有一个小脚本,可以检查cookies,我想知道我如何才能做到这一点,使它自动而不是在页面刷新 我的代码是: if(!$.cookie("popbox")){ if(!$.cookie("visited") && !$.cookie("firstvisit")){ var expirydate = new Date(); expirydate.setTime(expirydate.getTime() + (1 * 60 * 1000));
if(!$.cookie("popbox")){
if(!$.cookie("visited") && !$.cookie("firstvisit")){
var expirydate = new Date();
expirydate.setTime(expirydate.getTime() + (1 * 60 * 1000));
$.cookie("popbox", "feedback_popup", { expires: expirydate });
$.cookie("firstvisit", 1, { expires: 9999 });
} else {
if(!$.cookie("visited") && $.cookie("firstvisit")){
showPopuptimer();
}
}
}
如果您的意思是希望代码在显示页面时定期运行,则可以使用,它将在特定的时间间隔(或多或少)调用您赋予它的函数,或者使用一系列链式调用(
setTimeout
调用您赋予它的函数一次;然后再次调用函数调用setTimeout
)。(这些链接指向Mozilla文档,但这些调用存在于所有浏览器中。)
我倾向于使用setTimeout
调用的链式序列,因为它们很难从你身边逃脱setInterval
一直发生,直到/除非在它返回的句柄上调用clearInterval
例如:
checkTheCookies(); // The initial check on page load
function checkTheCookies() {
if(!$.cookie("popbox")){
if(!$.cookie("visited") && !$.cookie("firstvisit")){
var expirydate = new Date();
expirydate.setTime(expirydate.getTime() + (1 * 60 * 1000));
$.cookie("popbox", "feedback_popup", { expires: expirydate });
$.cookie("firstvisit", 1, { expires: 9999 });
} else {
if(!$.cookie("visited") && $.cookie("firstvisit")){
showPopuptimer();
}
}
}
// Schedule the next check 15 seconds later (time in milliseconds)
setTimeout(checkTheCookies, 150000);
}
您可能需要一个
if
,如果您有某种弹出窗口显示,并且不想在弹出窗口存在时进行检查。使用setInterval实现此功能-它也正是我想要的!谢谢:)@green_arrow:很高兴这有帮助!