思路
先初始化一个开始时间点
let start = 0
再定义每次执行函数结束的时间点
let end = Date.now()
结束时间点和开始时间点如果相差1s,就执行动画
执行动画后,把成功执行动画的时间点,记为下次执行动画的开始时间点
if(end - start >= 1000) {
console.log(0)
start = end
}
示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
let start = 0
function con() {
let end = Date.now()
if(end - start >= 1000) {
console.log(0)
start = end
}
requestAnimationFrame(con)
}
con()
</script>
</body>
</html>