setInterval()
每间隔指定时间,就会执行指定的函数
语法:
setInterval(fun, milliseconds);
参数:
- fun:必需。要调用的函数。
- milliseconds:必须。间隔时间,单位:毫秒
返回值: 返回类型为 number,本次间隔调用的唯一标示,主要用于取消间隔调用
clearInterval()
传入 setInterval() 返回值,停止该 setInterval() 调用的函数
例子
倒计时
let i = 10
function fun(){
console.log("",i)
i--
if(i < 0){
clearInterval(si)
}
}
let si = setInterval(fun,1000)
执行结果:
10
9
8
7
6
5
4
3
2
1
0
案例1
- 显示时间,时间格式:
HH,为了能够正常显示秒,每间隔 1秒,调用一次函数
ss - 点击 【停止调用】 按钮,停止调用
<div id="time"></div>
<input type="button" value="停止调用" id="stop">
<script>
/*
* 显示时间函数
*/
function showTime(){
//1. 创建Date对象
var date = new Date()
//2. 根据Date对象获取时分秒
var time = date.toLocaleTimeString()
// console.log(time)
//3. 将时间字符串显示到页面上
document.getElementById("time").innerText = time
}
// 加上此函数,页面显示时,直接显示时间。不加此句,第一秒不显示时间
showTime()
// 间隔1秒中,执行 test() 函数
// 调用 setInterval() 会有一个返回值
var i = setInterval(showTime,1000)
console.log("i = ",i)
console.log("i 的类型:", typeof(i))
document.getElementById("stop").onclick = function(){
// 停止 i 指定的 重复执行
clearInterval(i)
}
</script>
案例2
倒计时
倒计时:<span id="box"></span>
<script>
let i = 5
let si = 0
function show(){
document.getElementById("box").innerText = i
if(i===0){
// 取消间隔调用
clearInterval(si)
}
i--
}
// 每间隔1秒中,执行一次show() 函数
// 将show函数对象,作为参数传给另一个函数,show是回调函数
si = setInterval(show,1000)
console.log("si:",si)
</script>