JS如何实现点击重置刷新

我需要一个功能,点击一个按钮开始一个计时,2秒内未点击该按钮则隐藏某个div,如果点击了该按钮,则刷新计时器。按钮在div内,按钮需要不断电击才能维持div的显示。

<div>
     <button>按钮</button>
<div>
阅读 6.6k
2 个回答
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>时间</title>
  </head> 
<body>
<div>
    <button id="btn">按钮</button>
<div>
<script>
    let btn = document.getElementById("btn");
    let time;
    // 这行去掉就好了
    /*
    time = setTimeout(function () {
        btn.style.cssText = "display: none;"
    }, 2000);
    */
    btn.onclick = function () {
        clearTimeout(time);  
        time = setTimeout(function () {
          btn.style.cssText = "display: none;"
          clearTimeout(time);
        }, 2000)
    }
</script>
</body>
</html>

你说的“点击一个按钮”和2s内未点击该按钮应该不是同一个按钮吧?

let flag = false, // 是否点击了按钮标志量,false为没有,true为点击了
    time = -1;
button.onclick = function(){
   setInterval(function(){
        time ++;// 开始计时
        if(flag && time <= 2){ // 如果点击了按钮
            // time = 0;// 刷新计时器
            flag = false;
        }else{
           // 隐藏div        
        }
    },1000);
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题