永发信息网

我用js写了个轮询,再怎么写可以让它在条件下停止啊,高手来帮帮啊

答案:3  悬赏:10  手机版
解决时间 2021-04-06 02:52
  • 提问者网友:绫月
  • 2021-04-05 07:09
我用js写了个轮询,再怎么写可以让它在条件下停止啊,高手来帮帮啊
最佳答案
  • 五星知识达人网友:荒野風
  • 2021-04-05 08:33
用clearInterval,如下

$(document).ready(function(){
c = setInterval(checkIsExist,10000);//每10秒执行一次checkIsExist方法
});

function checkIsExist(){
$.ajax({
type: "POST",
url: "/SecondServlet",
data: "date="+new Date(),
success: function(rtmsg){
if(rtmsg == 'exist'){
$("#download").html("");
window.clearInterval(c);
}
}
});
}
全部回答
  • 1楼网友:西风乍起
  • 2021-04-05 11:26
你应该用一个标志变量来控制那个 setInterval(checkIsExist,10000);//每10秒执行一次checkIsExist方法,
比如你定义一个变量var isLunxun =1;
然后把轮讯放进一个判断里
$(document).ready(function(){
if(isLunxun){
setInterval(checkIsExist,10000);//每10秒执行一次checkIsExist方法
}
});
然后存在下载的时候,把那个标志变量的值设为0,这样不就停止了么
if(rtmsg == 'success'){
isLunxun =0;
alert("生成成功!");
}else if(rtmsg == 'fail'){
isLunxun =1;
alert("生成失败!");
我这个是个大概的思路,你可以参考一下,把你的代码改一下追问从if(rtmsg == 'success'){
报错,追答报什么错?你之前有没有报错呢?追问之前没错,什么什么after忘了,不停了,让它自己跑吧!
反正只是个练习,去问老师了,有人点着讲 明白的快点
谢谢你的回答!追答哦,肯定是语法错误,你看看分号什么的有没有加啊
  • 2楼网友:爱难随人意
  • 2021-04-05 10:03
show=setInterval(checkIsExist,10000);//每10秒执行一次checkIsExist方法
clearInterval(show);//取消函数调用
JS setInterval和clearInterval的用法2011-02-25 15:22setInterval() 可按照指定的时间周期(以毫秒计)来调用函数或计算表达式。
格式: setInterval(code,millisec)
参数 code: 要调用的函数或要执行的代码串。必须
参数 millisec: 时间间隔,表示每隔多少时间执行一次code函数或表达式....以毫秒计。必须
返回值:
一个可以传递给 Window.clearInterval() 从而取消对 code 的周期性执行的值。
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。
由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
clearInterval() 方法可取消由 setInterval() 设置的 timeout。
clearInterval(id_of_setinterval)
参数:id_of_setinterval :由 setInterval() 返回的 ID 值。
clearInterval() 方法的参数必须是由 setInterval() 返回的 ID 值。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯