js-定时器(setInterval, setTimeout)
setInterval()
- 表示没间隔一定时间执行一次函数
- 清除方法:clearInterval(timer)
var cnt = 0;
var timer = setInterval(function(){
cosole.log(cnt);
if(++cnt ==10){
clearInterval(timer);
}
},1000)
setTimeout()
- 表示过限定时间后再执行函数,且只执行一次。
- 清除方法:clearTimeout(timer);
var timer1 = setTimeout(function(){
console.log("hello");
},1000)
clearTimeout(timer1);
PS:
- 定时器setInterval和setTimeout都会返回一个数值,用于标识定时器。
写一个三分钟的定时器
<body>
minutes:<input type="text" name="mminute" value = '0'>
seconds:<input type="text" name="second" value = '0'>
</body>
<script type="text/javascript">
var minuteNode = document.getElementsByTagName('input')[0];
var secondNode = document.getElementsByTagName('input')[1];
var min = 0;
var second = 0;
var timer = setInterval(function(){
if(second == 60){
second = 0;
++min;
if(min == 3){
clearInterval(timer);
}
}else{
++second;
}
minuteNode.value = min;
secondNode.value = second;
},1000)
</script>