cleartimeout(cleartimeout用法)
在javascript中 setInterval()、clearInterval()、clearTimeout()等等常用的函数的含义是什么?
setInterval()是一种定时器,它按照指定的设置时间(以毫秒计)来调用函数的方法。clearInterval()是结束定时器的循环调用函数。除非调用clearInterval()方法,否则无限循环执行回调函数。例如:
var?i?=?0;//定义一个变量i
var?t?=?setInterval(function(){
????if(i?===?60){
????????clearInterval(t);//假如i是60,则清除此定时器,结束循环回调
????}else{
????????i++;
????????console.log(i);
????}
},1000);//设置每1000毫秒(一秒钟)回调一次函数
setTimeout()同理也是一种定时器,对应的结束定时的方法是clearTimeout()。与setInterval()不同的是,此定时器只执行一次,例如:
var?t?=?setTimeout(function(){
????console.log("OK");
},1000);//一秒后在控制台输出字符串"OK"
JS里clearTimeout()方法是什么方法?
clearTimeout() 方法可取消由 setTimeout() 方法设置的 timeout 下面的例子每秒调用一次 timedCount() 函数。您也可以使用一个按钮来终止这个定时消息: htmlheadscript type="text/javascript"var c=0var tfunction timedCount() { document.getElementById('txt').value=c c=c+1 t=setTimeout("timedCount()",1000) }function stopCount() { clearTimeout(t) }/script/headbodyforminput type="button" value="Start count!" onClick="timedCount()"input type="text" id="txt"input type="button" value="Stop count!" onClick="stopCount()"/form/body/html
clearTimeout没有效果的问题,看了好久都不知道错哪,求大牛指教下,代码和错误提示如下
这是因为你这个timerCal是function?calTime()内的局部变量,只能在calTime内有效,到了stop.onclick中它就无效了。
应该这样:
script?type="text/javascript"
var?timer=document.getElementById("timer");
var?start=document.getElementById("start");
var?stop=document.getElementById("stop");
var?time=0;
var?timerCal=null;
function?calTime()?{
timer.value=time++;
timerCal=setTimeout(calTime,1000);
}
start.onclick=function?()?{
calTime();
}
stop.onclick=function?()?{
clearTimeout(timerCal);
}
/script