<span style="font-size:14px;">一、问题</span>
<span style="font-size:14px;">近期,在用js做定时循环的时候,若是将循环变量repeat作为全局变量,在某方法内部使用方法window.clearInterval(repeat)终止循环时,不起作用。代码如下:</span>
<span style="font-size:14px;"><script type="text/javascript">
var repeat;
var i=0;
function repeatG(){
repeat = setInterval('getData()',3000);
}
function getData(){
i++;
alert(i);
if(i==5){
window.clearInterval(repeat);
}
}
</script></span>
二、解决方案
对于这个问题,始终没有头绪。后来我尝试给repeat赋初值null,就好使了,原理未知,希望知道的大能帮忙解惑,代码如下:
<script type="text/javascript">
var repeat=null;
var i=0;
function repeatG(){
repeat = setInterval('getData()',3000);
}
function getData(){
i++;
alert(i);
if(i==5){
window.clearInterval(repeat);
}
}
</script>