var num=0;
function rec(){
document.getElementById("txt").value=num;
num+=1;
var i=setTimeout(rec,300);
}
setTimeout(rec,300);
</script>
</head>
<body>
<input type="text" id="txt">
<input type="button" value="stop" onclick="clearTimeout(i)"/>
这样不行
var num=0,i;
function rec(){
document.getElementById("txt").value=num;
num+=1;
i=setTimeout(rec,300);
}
setTimeout(rec,300);
</script>
</head>
<body>
<input type="text" id="txt">
<input type="button" value="stop" onclick="clearTimeout(i)"/>
这样就可以了,为什么
你把var i定义在一个函数内时这个变量就是个局部变量。局部变量只能是函数内调用。要想被其他的函数调用就必须把他设置成全局变量
作用域