setInterval:
由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数 。
clearInterval():
取消由 setInterval() 设置的 timeout。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
function t(){
console.log(1111);
}
var id = setInterval("t()",1000);
function s(){
id = setInterval("t()",1000);
}
function c(){
clearInterval(id);
}
</script>
<input type="text" placeholder="请输入数据" />
<input type="button" value="开始" onclick="s()" />
<input type="button" value="停止" onclick="c()" />
</body>
</html>
第一次进入浏览器时,控制能每隔1秒输出1111,点击停止,即可停止输出。
点击开始可再次进行输出。
点击停止:
点击开始:
setTimeout:
用法:setTimeout(“方法名”,时间);
作用:在一段时间后,执行一次方法结束,即只执行一次方法
由 setTimeout() 返回的 ID 值可用作 clearTimeout() 方法的参数
clearTimeout():
取消由 setTimeout() 方法设置的 timeout。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
function c(){
console.log(1111);
}
var id = setTimeout("c()",5000);
function a(){
clearTimeout(id);
}
</script>
<input type="button" value="结束" onclick="a()" />
</body>
</html>
5s后控制台输出1111。
setInterval()与setTimeout()的区别:
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭;setTimeout() 只执行 code 一次,如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout();