点击按钮后清除时间循环setInterval,clearInterval
taotaoit JavaScript 2021-08-17 1422 0
关于本站

“最难不过坚持”

本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作

有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339

6454657 2613 39
最新评论
https://jueru.net/
评 留言
:weixiao:
评 留言
:shuijiao: :weiqu: :zhenbang: :leng:
评 留言
:yiwen: :yiwen: :yiwen: :yiwen:
评 EasySass: could not generate CSS file. See Output panel for details.
这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
评 TP6模型事件-查询后onAfterRead不好用
文章标签更多
ThinkPHP (254)
Mysql (58)
DedeCms (33)
jQuery (67)
证件照 (1)
setInc (4)
setDec (4)
onclick (5)
打开边栏(ESC) 关闭边栏(ESC)

做在线考试,点击提交按钮后,要返回答案是正确还是错误,所以需要在答题页面停留几秒钟再跳转到下一题。但是在停留的时候,计时器秒数还是在变,怎样在点击提交按钮之后,停止计时器呢?

参考:https://www.orcode.com/question/652045_k1f681.html

var interval = null;
theSecondButton.onclick = function() {
    if (interval === null) {
       interval = setInterval(generation, 1000);
    }
}
theThirdButton.onclick = function () {
   if (interval !== null) {
       clearInterval(interval);
       interval = null;
   }
}
实际应用:

<script>
    $(function(){
      var intervalHandle = null;
      disableBtn({$details.examTime});
    })
    // 自动提交时间
    function disableBtn(time){
      $('.sendEmailCodeBtn span').html(time);
      intervalHandle = setInterval(function(){
        time--;
        $('.sendEmailCodeBtn span').html(time);
        if(time==0){          
          submit();
        }
      },1000);
    }
    function submit(){
      clearInterval(intervalHandle);
      var params = ZHT.getParams('.ipt'); // 获取注册账号信息
      $.post(ZHT.U('home/exam/anwser'), params, function (data, textStatus) {
        var json = ZHT.toJson(data);
        if (json.status == 1) {
          if(json.msg != '回答正确!'){
            $.toast.prototype.defaults.duration=5000;//2秒
          }          
          $.toast(json.msg,"text",function(){
            location.href = ZHT.U('home/exam/details','id='+params.examId+'&k='+(parseInt(params.k)+1));
          });          
        }else if(json.status == 2){ // 考试结束
          $.toast("考试结束!","text",function(){
            location.href = ZHT.U('home/exam/result','id='+params.examId);
          });          
        }
      });
    }
    </script>
主要是在函数外面定义var intervalHandle = null;这个变量,需要停止的时候清除它。

版权声明:本站原创文章,允许自由转载。

相关推荐
return和return false的区别
JavaScript | 2020-08-26 18845
1. return返回null,起到中断方法执行的效果,只要不return false事件处理函数将会继续执行,表单将提交 2. return false,事件处理函数会取消事件,不再继续向下执行。比如表单将终止提交。 <script> function validateForm(){ var username...
console.log怎样输出换行
JavaScript | 2020-04-17 13656
两个console.log()之间默认是换行的,不用单独处理,如果想输出换行,可以用 console.log( '\n' ); 其他内容 如果同时打印数字和字符串,并且数字在前,打印字符串会添加引号显示。 console.log('test',1) ==》test 1 console.log(1,'test') ...
评论:0条
评论加载中...
发表评论