首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Jquery html中的某个时间范围后启用Button?

在Jquery html中的某个时间范围后启用Button?
EN

Stack Overflow用户
提问于 2020-06-07 17:12:36
回答 1查看 48关注 0票数 1

我想启用按钮后,一定的时间框架,如果我再次点击这个按钮,它应该禁用这个时间框架.How,以实现这一点…

代码语言:javascript
运行
复制
var timer2 = "00:30";
var interval = setInterval(function() {
  var timer = timer2.split(':');
  //by parsing integer, I avoid all extra string processing
  var minutes = parseInt(timer[0], 10);
  var seconds = parseInt(timer[1], 10);
  --seconds;
  minutes = (seconds < 0) ? --minutes : minutes;
  if (minutes < 0) clearInterval(interval);
  seconds = (seconds < 0) ? 59 : seconds;
  //minutes = (minutes < 10) ?  minutes : minutes;
  $('.countdown').html(minutes + ':' + seconds);
  timer2 = minutes + ':' + seconds;
}, 500);
代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="countdown"></div>
<button type="button" id="demo">click</button>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-07 17:29:39

您可以将代码包装在一个函数中,并在事件单击和代码运行开始时调用该函数,在该函数中,我添加了清除时间间隔和重置计时器的时间检查,并使用.setAttribute()removeAttribute()禁用/启用该按钮:

代码语言:javascript
运行
复制
function enableButton() {
  var timer2 = "00:30";

  var interval = setInterval(function() {
    var timer = timer2.split(':');
    //by parsing integer, I avoid all extra string processing
    var minutes = parseInt(timer[0], 10);
    var seconds = parseInt(timer[1], 10);
    --seconds;
    minutes = (seconds < 0) ? --minutes : minutes;
    if (minutes < 0) clearInterval(interval);
    seconds = (seconds < 0) ? 59 : seconds;
    //minutes = (minutes < 10) ?  minutes : minutes;
    $('.countdown').html(minutes + ':' + seconds);
      timer2 = minutes + ':' + seconds;
    if( minutes === 0 && seconds === 0) {
      clearInterval(interval);
      document.getElementById('demo').removeAttribute('disabled');
    }
    else {  
      document.getElementById('demo').setAttribute('disabled', true);
    }

  }, 100);
}

document.getElementById('demo').addEventListener('click', function() {
  enableButton();
});

enableButton();
代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="countdown"></div>
<button type="button" id="demo" disabled>click</button>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62243243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档