Jquery实现定时器【可输入定时版本】

一、HTML

<div class="main">
      <div class="box">
        <input type="text" value="00" class="m" /> 分钟
        <input type="text" value="00" class="s" /> 秒
      </div>
      <button>开始倒计时</button>
</div>

二、CSS

<style>
    .main {
      width: 400px;
      margin: 0 auto;
      background: #000;
      color: #fff;
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      padding: 20px;
      text-align: center;
    }
    input {
      width: 100px;
      height: 30px;
      font-size: 20px;
      text-align: center;
      outline: none;
    }
    button {
      margin-top: 30px;
      width: 50%;
      height: 40px;
      line-height: 40px;
      background: rgb(1, 1, 158);
      color: #fff;
      cursor: pointer;
    }
</style>

三、JS

<!-- 引入本地jquery -->
  <script src="jQuery v3.6.1.js"></script>
  <script>
    // 获取按钮
    var btn = $("button");
    // 按钮的点击事件
    btn.click(function () {
      // 加+号可以将“数值字符串”转成 数值
      var m = +$(".m")[0].value;
      var s = +$(".s")[0].value;

      // 如果按钮的值为"开始倒计时"执行
      if (btn.text() == "开始倒计时") {
        if (s == 0 && m == 0) {
        } else {
          btn.text("暂停倒计时");
          time1 = setInterval(function () {
            // 秒减一
            s--;
            if (s < 0) {
              s = 59;

              m--;
            }
            if (s == 0 && m == 0) {
              btn.text("开始倒计时");
              // 清除定时器
              clearInterval(time1);
            }
            // 设置分/秒的value值
            $(".m")[0].value = m < 10 ? "0" + m : m;
            $(".s")[0].value = s < 10 ? "0" + s : s;
          }, 1000);
        }
      } else if (btn.text() == "暂停倒计时") {
        btn.text("开始倒计时");
        // 清除定时器
        clearInterval(time1);
      }
    });
   </script>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供了三个函式 1 everyTime 时间间隔 [计时器名称] 函式名称 [次数限制] [等待函式程序完成] 2 oneTime 时间间隔 [计时器名称] 呼叫的函式 3 stopTime [计时器名称] [函式名称] everyTime 时间间隔 [计时器名称] 函式名称 [次数限制] [等待函式程序完成] 每1秒执行函式test function test { do something } $ "body" everyTime "1s" test ; 每1秒执行 $ "body" everyTime "1s" function { do something } ; 每1秒执行 并命名计时器名称为A $ "body" everyTime "1s" "A" function { do something } ; 每20秒执行 最多5次 并命名计时器名称为B $ "body" everyTime "2das" "B" function { do something } 5 ; 每20秒执行 无限次 并命名计时器名称为C 若时间间隔抵到 但函式程序仍未完成则需等待执行函式完成后再继续计时 $ "body" everyTime "2das" "C" function { 执行一个会超过20秒以上的程式 } 0 true ; oneTime 时间间隔 [计时器名称] 呼叫的函式 倒数10秒后执行 $ "body" oneTime "1das" function { do something } ; 倒数100秒后执行 并命名计时器名称为D $ "body" oneTime "1hs" "D" function { do something } ; stopTime [计时器名称] [函式名称] 停止所有的在$ "body" 上计时器 $ "body" stopTime ; 停止$ "body" 上名称为A的计时器 $ "body" stopTime "A" ; 停止$ "body" 上所有呼叫test 的计时器 $ "body" stopTime test ; 自定义时间单位 打开源代码 找到 powers: { Yeah this is major overkill "ms": 1 "cs": 10 "ds": 100 "s": 1000 "das": 10000 "hs": 100000 "ks": 1000000 }">提供了三个函式 1 everyTime 时间间隔 [计时器名称] 函式名称 [次数限制] [等待函式程序完成] 2 oneTime 时间间隔 [计时器名称] 呼叫的函式 3 stopTime [计时器名称] [函式名称] [更多]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值