基于JS创建的一个带有进度倒计时的圆形时钟,它能直观地表示时间的流逝,该方法可计算小时、分钟和秒的时间百分比,动态的显示时间,可以在需要视觉效果和动态时钟显示的项目中使用它,能够直观地表示时间的进展,通过直观的界面帮助用户跟踪小时、分钟和秒。
下面展示如何创建带进度倒计时的圆形时钟
1.首先,创建一个 HTML 文件并设置基本结构。为时钟添加一个容器。
<svg viewBox="0 0 100 100"> <g transform="scale(-1 1) rotate(-90 0 100)"> <g fill="none" stroke="rgba(0,0,0,0.1)"> <circle cx="50" cy="50" r="46" stroke-width="8" /> <circle cx="50" cy="50" r="46" stroke-width="6" /> <circle cx="50" cy="50" r="38" stroke-width="7" /> <circle cx="50" cy="50" r="38" stroke-width="5" /> <circle cx="50" cy="50" r="30" stroke-width="6" /> <circle cx="50" cy="50" r="30" stroke-width="4" /> <circle cx="50" cy="50" r="22" stroke-width="5" /> <circle cx="50" cy="50" r="22" stroke-width="3" /> <circle cx="50" cy="50" r="16" stroke-width="4" /> <circle cx="50" cy="50" r="16" stroke-width="2" /> </g> <g id="timeHere"> <!-- time circles pasted here --> </g> /*这里仅展示部分示例代码,下载后查看完整版代码*/ </g> </svg>
2.使用 CSS 创建时钟和进度元素的样式。该代码提供了基本样式;您可以根据自己的设计偏好进行自定义。
/*这里仅展示部分示例代码,下载后查看完整版代码*/
svg {
max-height: 90vh;
max-width: 90vw;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}3.最后,在 <script> 标记或外部 JS 文件之间添加以下 JavaScript 函数,以启用时钟功能。
/*这里仅展示部分示例代码,下载后查看完整版代码*/
function getTimePercentages() {
const now = new Date();
const currentHour = now.getHours();
const currentMinute = now.getMinutes();
const currentSecond = now.getSeconds();
// Calculate the remaining minutes in the hour
const remainingMinutes = currentMinute;
const hourPercentage = (currentHour / 24) * 100;
const hour12Percentage = ((currentHour % 12) / 12) * 100;
const minutePercentage = (currentMinute / 60) * 100;
const secondPercentage = (currentSecond / 60) * 100;
// Calculate the percentage of minutes left in the hour
const minutesLeftPercentage = (remainingMinutes / 60) * 100;
return {
hour: hourPercentage,
hour12: hour12Percentage,
minute: minutePercentage,
minutes: minutesLeftPercentage,
second: secondPercentage
};
}本指南提供了使用 HTML、CSS 和 JavaScript 实现圆形时钟的基本方法。请根据具体项目要求自定义样式和功能。

















