当前位置: 首页 > news >正文

HTML的自动定义倒计时,这个配色存一下

在这里插入图片描述

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>自定义倒计时</title><style>* {margin: 0;padding: 0;box-sizing: border-box;font-family: 'Arial', sans-serif;}body {background: linear-gradient(to right, #3a1c71, #d76d77, #ffaf7b);height: 100vh;display: flex;justify-content: center;align-items: center;color: #fff;}.container {text-align: center;background-color: rgba(0, 0, 0, 0.4);padding: 40px;border-radius: 15px;box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);}h1 {font-size: 2.5rem;margin-bottom: 20px;}.input-group {margin-bottom: 20px;}label {font-size: 1.2rem;}input[type="number"] {padding: 10px;font-size: 1rem;border: none;border-radius: 5px;margin: 5px;width: 60px;text-align: center;}.buttons {margin-top: 20px;}button {background-color: #ff7e5f;border: none;padding: 10px 20px;border-radius: 5px;font-size: 1.1rem;color: #fff;cursor: pointer;transition: background-color 0.3s ease;}button:hover {background-color: #feb47b;}.countdown-display {margin-top: 30px;font-size: 3rem;font-weight: bold;}.countdown-finished {color: #fffa65;}</style>
</head>
<body><div class="container"><h1>倒计时</h1><div class="input-group"><input type="number" id="hours" min="0" max="23" value="0"><label for="hours">小时</label><input type="number" id="minutes" min="0" max="59" value="0"><label for="minutes">分钟</label><input type="number" id="seconds" min="0" max="59" value="0"><label for="seconds"></label></div><div class="buttons"><button onclick="startCountdown()">开始倒计时</button><button onclick="pauseCountdown()">暂停</button><button onclick="resetCountdown()">重置</button></div><div class="countdown-display" id="countdown-display">00:00:00</div></div><script>let countdownInterval;let totalSeconds;let isPaused = false;function startCountdown() {// 如果正在暂停,直接继续计时if (isPaused) {isPaused = false;countdownInterval = setInterval(updateCountdown, 1000);return;}const hours = parseInt(document.getElementById('hours').value, 10);const minutes = parseInt(document.getElementById('minutes').value, 10);const seconds = parseInt(document.getElementById('seconds').value, 10);totalSeconds = hours * 3600 + minutes * 60 + seconds;if (totalSeconds > 0) {clearInterval(countdownInterval);countdownInterval = setInterval(updateCountdown, 1000);}}function updateCountdown() {if (totalSeconds > 0) {totalSeconds--;const hrs = Math.floor(totalSeconds / 3600);const mins = Math.floor((totalSeconds % 3600) / 60);const secs = totalSeconds % 60;document.getElementById('countdown-display').textContent =`${formatTime(hrs)}:${formatTime(mins)}:${formatTime(secs)}`;} else {clearInterval(countdownInterval);document.getElementById('countdown-display').textContent = "倒计时结束";document.getElementById('countdown-display').classList.add('countdown-finished');}}function formatTime(time) {return time < 10 ? `0${time}` : time;}function resetCountdown() {clearInterval(countdownInterval);document.getElementById('countdown-display').textContent = "00:00:00";document.getElementById('hours').value = 0;document.getElementById('minutes').value = 0;document.getElementById('seconds').value = 0;document.getElementById('countdown-display').classList.remove('countdown-finished');isPaused = false;  // 重置暂停状态}function pauseCountdown() {if (!isPaused) {clearInterval(countdownInterval);isPaused = true;} else {startCountdown();}}</script>
</body>
</html>
http://www.lryc.cn/news/489522.html

相关文章:

  • CUDA补充笔记
  • C++二级:满足条件的数的累加
  • 【山大909算法题】2014-T1
  • 【MySQL实战45讲笔记】基础篇——深入浅出索引(上)
  • 通关C语言自定义类型:联合和枚举
  • python高阶技巧一
  • Java 对象头、Mark Word、monitor与synchronized关联关系以及synchronized锁优化
  • 鸿蒙网络编程系列50-仓颉版TCP回声服务器示例
  • 软件测试基础(自动化测试、性能测试)
  • C++中的原子操作:原子性、内存顺序、性能优化与原子变量赋值
  • 游戏引擎学习第19天
  • RocketMQ: 专业术语以及相关问题解决
  • C++ 类和对象中的 拷贝构造 和 运算符重载
  • el-table最大高度无法滚动
  • Vscode写markdown快速插入python代码
  • 基于 NCD 与优化函数结合的非线性优化 PID 控制
  • 【数据分析】基于GEE实现大津算法提取洞庭湖流域水体
  • 计算机网络安全 —— 报文摘要算法 MD5
  • LeetCode 746. 使用最小花费爬楼梯 java题解
  • Kubernetes的pod控制器
  • ArcMap 处理栅格数据地形图配准操作
  • comprehension
  • 开源宝藏:Smart-Admin 重复提交防护的 AOP 切面实现详解
  • 使用 npm 安装 Electron 作为开发依赖
  • JavaWeb之综合案例
  • MySQL 报错:1137 - Can‘t reopen table
  • Claude3.5-Sonnet和GPT-4o怎么选(附使用链接)
  • 使用itextpdf进行pdf模版填充中文文本时部分字不显示问题
  • java-贪心算法
  • OpenCV和Qt坐标系不一致问题