当前位置: 首页 > 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>

相关文章:

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

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>自定义倒计时</title><style>* {mar…...

CUDA补充笔记

文章目录 一、不同核函数前缀二、指定kernel要执行的线程数量三、线程需要两个内置坐标变量来唯一标识线程四、不是blocksize越大越好&#xff0c;上限一般是1024个blocksize 一、不同核函数前缀 二、指定kernel要执行的线程数量 总共需要线程数是&#xff1a; 1 * N N个线程…...

C++二级:满足条件的数的累加

现有n个整数&#xff0c;将其中个位数为k的数进行累加求和。 输入 第一行1个整数n。&#xff08; 0 < n < 1000&#xff09; 第二行n个非负整数&#xff0c;以空格分隔&#xff0c;每个数不大于100000。 第三行1个整数k。(0 ≤ k ≤ 9) 输出 输出满足题目要求的累加和。…...

【山大909算法题】2014-T1

文章目录 1.原题2.算法思想3.关键代码4.完整代码5.运行结果 1.原题 为带表头的单链表类Chain编写一个成员函数Reverse&#xff0c;该函数对链表进行逆序操作&#xff08;将链表中的结点按与原序相反的顺序连接&#xff09;&#xff0c;要求逆序操作就地进行&#xff0c;不分配…...

【MySQL实战45讲笔记】基础篇——深入浅出索引(上)

系列文章 基础篇——MySQL 的基础架构 基础篇——redo log 和 binlog 基础篇——事务隔离 目录 系列文章深入浅出索引&#xff08;上&#xff09;4.1 索引的常见模型4.2 InnoDB 的索引模型4.3 索引维护4.4 思考&#xff1a;为什么要重建索引以及如何做&#xff1f; 深入浅出索…...

通关C语言自定义类型:联合和枚举

C语言的自定义类型有四个分别是&#xff1a;数组&#xff1b;结构体&#xff08;struct&#xff09;&#xff1b;联合体&#xff08;union&#xff09;&#xff1b;枚举&#xff08;enum&#xff09;。前面已经讨论过数组和结构体&#xff0c;这期让我们来学习一下联合体和枚举…...

python高阶技巧一

闭包 简单认识一下闭包 以下代码&#xff0c;内层inner函数不仅依赖于自身的参数b&#xff0c;还依赖于外层outer函数的参数a。inner就是一个闭包函数&#xff0c;既能访问外部变量&#xff0c;又保证外部变量不是全局的&#xff0c;不会被篡改掉&#xff0c;确保了外部变量的…...

Java 对象头、Mark Word、monitor与synchronized关联关系以及synchronized锁优化

1. 对象在内存中的布局分为三块区域&#xff1a; &#xff08;1&#xff09;对象头&#xff08;Mark Word、元数据指针和数组长度&#xff09; 对象头&#xff1a;在32位虚拟机中&#xff0c;1个机器码等于4字节&#xff0c;也就是32bit&#xff0c;在64位虚拟机中&#xff0…...

鸿蒙网络编程系列50-仓颉版TCP回声服务器示例

1. TCP服务端简介 TCP服务端是基于TCP协议构建的一种网络服务模式&#xff0c;它为HTTP&#xff08;超文本传输协议&#xff09;、SMTP&#xff08;简单邮件传输协议&#xff09;等高层协议的应用程序提供了可靠的底层支持。在TCP服务端中&#xff0c;服务器启动后会监听一个或…...

软件测试基础(自动化测试、性能测试)

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 自动化测试的意义 缩短软件开发测试周期&#xff0c;可以让产品更快投放市场 测试效率高&#xff0c;充分利用硬件资源 节省人力资源&#xff0c;降低测试…...

C++中的原子操作:原子性、内存顺序、性能优化与原子变量赋值

一、原子操作与原子性 原子操作&#xff08;atomic operation&#xff09;是并发编程中的一个核心概念&#xff0c;指的是在多线程环境中&#xff0c;一个操作一旦开始&#xff0c;就不会被其他线程的操作打断&#xff0c;直至该操作完成。这种不可分割的特性保证了操作的原子…...

游戏引擎学习第19天

介绍 这段内容描述了开发者在进行游戏开发时&#xff0c;对于音频同步和平台层的理解和调整的过程。以下是更详细的复述&#xff1a; 开发者表达了他希望今天继续进行的工作内容。他提到&#xff0c;昨天他讲解了一些关于音频的内容&#xff0c;今天他想稍微深入讲解一下他正…...

RocketMQ: 专业术语以及相关问题解决

概述 要了解 RocketMQ 的多个关键特性的实现原理&#xff0c;并对消息中间件遇到的各种问题进行解决我们引用 JMS 规范 与 CORBA Notification 规范&#xff0c;规范为我们设计系统指明了方向但是仍有不少问题规范没有提及&#xff0c;对于消息中间件又至关重要RocketMQ 并不遵…...

C++ 类和对象中的 拷贝构造 和 运算符重载

构造函数中可以添加参数并添加默认值构成缺省构造&#xff0c;如果我们在构造函数的参数中加上自身类型类的引用和其他给出默认值的参数则会构成一种特殊的构造函数叫做———拷贝构造函数 1.拷贝构造 拷贝构造的特点&#xff1a; 1.拷贝构造函数是构造函数的一个重载 2.拷…...

el-table最大高度无法滚动

解决el-table同时使用fixed和计算的最大高度时固定右边的列无法跟随滚动的问题 原因&#xff1a;el-table组件会根据传入的 max-height 计算表格内容部分 和 fixed部分的最大高度&#xff0c;以此来生成滚动条和产生滚动效果&#xff0c;当传入的 max-height 为一个计算的高度…...

Vscode写markdown快速插入python代码

如图当我按下快捷键CRTLSHIFTK 自动出现python代码片段 配置方法shortcuts’ 打开这个json文件 输入 {"key": "ctrlshiftk","command": "editor.action.insertSnippet","when": "editorTextFocus","args&…...

基于 NCD 与优化函数结合的非线性优化 PID 控制

基于 NCD 与优化函数结合的非线性优化 PID 控制 1. 引言 NCD&#xff08;Normalized Coprime Factorization Distance&#xff09;优化是一种用于非线性系统的先进控制方法。通过将 NCD 指标与优化算法结合&#xff0c;可以在动态调整控制参数的同时优化控制器性能。此方法特别…...

【数据分析】基于GEE实现大津算法提取洞庭湖流域水体

大津算法提取水体 1.写在前面2.洞庭湖水体识别1.写在前面 最大类间方差法,也称为Otsu或大津法,是一种高效的图像二值化算法,由日本学者Otsu于1979年提出。该算法基于图像的频率分布直方图,假设图像包含两类像素(前景和背景),并计算出一个最佳阈值,以最大化类间方差,从…...

计算机网络安全 —— 报文摘要算法 MD5

一、报文摘要算法基本概念 ​ 使用加密通常可达到报文鉴别的目的&#xff0c;因为伪造的报文解密后一般不能得到可理解的内容。但简单采用这种方法&#xff0c;计算机很难自动识别报文是否被篡改。另外&#xff0c;对于不需要保密而只需要报文鉴别的网络应用&#xff0c;对整个…...

LeetCode 746. 使用最小花费爬楼梯 java题解

https://leetcode.cn/problems/min-cost-climbing-stairs/description/ 优化&#xff1a;可以不用dp数组&#xff0c;用变量&#xff0c;节省空间。 class Solution {public int minCostClimbingStairs(int[] cost) {int lencost.length;int[] dpnew int[len1];dp[0]0;//爬到0…...

告别ifconfig!用ip命令和ethtool搞定Linux网卡状态排查(附实战案例)

告别ifconfig&#xff01;用ip命令和ethtool搞定Linux网卡状态排查&#xff08;附实战案例&#xff09; 在Linux服务器运维中&#xff0c;网络故障排查是最常见的任务之一。记得去年深夜处理一次线上事故时&#xff0c;面对一台突然失联的数据库服务器&#xff0c;我习惯性地敲…...

终极智慧树刷课插件指南:如何实现自动化高效学习

终极智慧树刷课插件指南&#xff1a;如何实现自动化高效学习 【免费下载链接】zhihuishu 智慧树刷课插件&#xff0c;自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 还在为智慧树平台枯燥的手动操作而烦恼吗&#xff1f;智慧…...

ARMv8-A架构VDISR_EL3与VSESR_EL2寄存器解析

1. AArch64系统寄存器概述在ARMv8-A架构中&#xff0c;系统寄存器是处理器状态和功能控制的核心组件。它们分布在不同的异常级别(EL0-EL3)&#xff0c;每个级别都有特定的访问权限和功能定位。作为芯片级开发者&#xff0c;理解这些寄存器的细节对构建稳定可靠的系统至关重要。…...

本地能跑线上崩?MonkeyCode统一云端环境解决团队开发噩梦

行内深耕多年&#xff0c;深知绝大多数程序员都被开发环境问题绊住前行脚步&#xff0c;几大行业通病几乎人人都遇见过。换新设备就得全盘重搭开发环境&#xff0c;新电脑到手没空敲代码&#xff0c;反倒整日忙着安装各类工具、调配环境变量、适配项目依赖&#xff0c;耗费大把…...

“--tile”失效了?深度逆向Midjourney纹理无缝拼接底层逻辑(含Python自动化Tile校验脚本)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Midjourney纹理无缝拼接的核心价值与失效现象洞察 在游戏开发、建筑可视化与数字孪生等高频复用表面材质的场景中&#xff0c;Midjourney生成的纹理若能实现像素级无缝拼接&#xff08;tiling&#xff09;&am…...

Miro致力弥合AI潜力与组织现实之间的鸿沟

Miro在Canvas 26上将其AI平台建设成为现代AI生态系统的连接层 — 汇聚团队、智能体以及已经使用的工具&#xff0c;将个体AI生产率变为整个组织的转型 Miro是一个面向团队的人工智能&#xff08;AI&#xff09;创新工作空间。该公司宣布推出多项AI平台创新&#xff0c;强化了其…...

中文Kodi媒体中心终极指南:4大本土化插件解决方案

中文Kodi媒体中心终极指南&#xff1a;4大本土化插件解决方案 【免费下载链接】xbmc-addons-chinese Addon scripts, plugins, and skins for XBMC Media Center. Special for chinese laguage. 项目地址: https://gitcode.com/gh_mirrors/xb/xbmc-addons-chinese 你是否…...

Orbit存储系统完全指南:SQLite、IndexedDB与Firestore三大方案深度解析

Orbit存储系统完全指南&#xff1a;SQLite、IndexedDB与Firestore三大方案深度解析 【免费下载链接】orbit Experimental spaced repetition platform for exploring ideas in memory augmentation and programmable attention 项目地址: https://gitcode.com/gh_mirrors/orb…...

如何构建高性能 Azure 应用:azcore 的 7 大优化技巧

如何构建高性能 Azure 应用&#xff1a;azcore 的 7 大优化技巧 【免费下载链接】azure-sdk-for-go This repository is for active development of the Azure SDK for Go. For consumers of the SDK we recommend visiting our public developer docs at: 项目地址: https:/…...

Nova垃圾收集器终极教程:安全点GC设计与实现原理

Nova垃圾收集器终极教程&#xff1a;安全点GC设计与实现原理 【免费下载链接】nova JS engine lolz 项目地址: https://gitcode.com/gh_mirrors/nova14/nova Nova是一款高性能JavaScript引擎&#xff0c;其垃圾收集器&#xff08;GC&#xff09;采用了先进的安全点设计&…...