简单的 JavaScript 闹钟的实现

可以让用户设置闹钟时间,并在闹钟时间到达时弹出提示框:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>JavaScript 闹钟</title>
</head>
<body>
  <div>
    <label for="alarm-time">闹钟时间:</label>
    <input type="time" id="alarm-time" name="alarm-time">
    <button onclick="setAlarm()">设置闹钟</button>
  </div>
  <script>
    function setAlarm() {
      // 获取闹钟时间
      const alarmTime = document.getElementById("alarm-time").value;
      if (!alarmTime) {
        alert("请选择闹钟时间!");
        return;
      }

      // 计算闹钟时间距离当前时间的毫秒数
      const now = new Date();
      const [hour, minute] = alarmTime.split(":");
      const alarm = new Date(now.getFullYear(), now.getMonth(), now.getDate(), hour, minute);
      const timeDiff = alarm - now;

      // 设置闹钟
      if (timeDiff > 0) {
        setTimeout(() => alert("时间到了!"), timeDiff);
        alert("闹钟设置成功!");
      } else {
        alert("请选择未来的时间!");
      }
    }
  </script>
</body>
</html>

该实现中,通过 document.getElementById() 方法获取闹钟时间输入框的值,然后使用 new Date() 创建当前时间对象和用户选择的闹钟时间对象,并计算两个时间之间的毫秒数差。最后,通过 setTimeout() 方法设置一个定时器,在闹钟时间到达时弹出提示框。

需要注意的是,由于定时器的精度和浏览器的性能等因素的影响,实际上闹钟时间可能会比预期的时间略有偏差。此外,由于 JavaScript 是运行在浏览器中的,因此如果用户关闭了浏览器标签页或者电脑进入了睡眠模式,定时器可能会失效,导致闹钟无法响起。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦想是坚持

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值