JavaScript实现一定时长下点击次数
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <div class="time"> 倒计时:<span>60</span> </div> <div class="clickNum"> 点击次数:<span>0</span> </div> <button class="btnClick">点击</button> <button class="btnReset">重置</button> <script> var timer = null,//计时器id duration = 60,//倒计时时长 frequency = 0;//点击次数 var time = document.querySelector(".time span"); var clickNum = document.querySelector(".clickNum span"); var btnClick = document.querySelector(".btnClick"); var btnReset = document.querySelector(".btnReset"); btnClick.onclick = function () { if (frequency === 0) { //第一次点击开始计时 startTime(); } if(duration === 0){//倒计时为0 return; } frequency++; clickNum.innerText = frequency;//记录点击次数 } btnReset.onclick = function(){ duration = 60; frequency = 0; clickNum.innerText = frequency;//点击次数重置为0 time.innerText = duration;//倒计时长重置为60; clearInterval(timer);//清除计时器 timer = null; } //开始计时 function startTime() { if (timer) { //计时器有值,返回 return; } timer = setInterval(function () { duration--; time.innerText = duration; if(duration === 0){ clearInterval(timer); timer = null; } }, 30); } </script> </body> </html>
效果展示: