devil_tulip 2015-09-25 02:36 采纳率: 50%
浏览 3333
已采纳

关于setInterval启动但clearInterval不能停止的问题

function setTimer(){
var spanId;
<%
//startRecord
//endRecord
c = startRecord+1;
while(c<=endRecord+1){
%>
spanId = 'num<%=c%>';
if(document.getElementById(spanId)){
if('' == $.trim(document.getElementById(spanId).innerHTML)){
time<%=c%> = setInterval("getRandNum('<%=c%>')",10);
}
}
<%
c++;
}
%>
//time1 = setInterval("getRandNum(num1)",10);
document.getElementById("start").disabled = true;
document.getElementById("end").disabled = false;
}

function ct1(showSpan){////////////////////////////////////////////////////////////////
var divname = 'num'+showSpan;

if(document.getElementById(divname)){
//alert('1');
$.ajax({
type: "POST",
url: "setAction.jsp",
data: {ac:'getRndNumAndSetOrder',rndOrder:showSpan},
beforeSend:function(XMLHttpRequest){
//alert('before');
},
success: function(msg){
//alert($.trim(msg));
if('' != $.trim(msg)){
clearInterval('time'+showSpan);
document.getElementById(divname).innerHTML = $.trim(msg);
}
},
complete:function(XMLHttpRequest,textStatus){
//alert('complete');
},
failure:function (result) {

//alert('Failed');

}
});
}
//alert('2');
}
function ct(){
<%
c = startRecord+1;
while(c<=endRecord+1){
%>
ct1('<%=c%>');
<%
c++;
}
%>
}
在按一个按钮使setInterval启动,但是按另一个按钮后clearInterval不能停止。

我是一个大学刚毕业的新人,也是第一次来提问,所以可能没有C币用来悬赏,抱歉。

  • 写回答

1条回答 默认 最新

  • 毕小宝 博客专家认证 2015-09-25 22:44
    关注

    F12模式调试下,打印下日志,看看clearInterval是否真的没执行。
    你的setInterval和clearInterval不是在同一个线程中,clearInterval是在ajax请求异步成功返回后进行的,不知道这样会不会有影响。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭