JavaScript 实现动态随机色小时钟
作者:异步漫步时间:2026-10-23 16:56:04浏览:146
本文介绍如何使用 JavaScript 结合 setInterval 定时器实现一个动态小时钟。代码通过获取当前时间并每秒更新显示,同时利用随机颜色函数改变背景与字体样式,展示前端交互效果。
JavaScript 动态小时钟实现
本文分享了一段使用 JavaScript 实现动态小时钟的具体代码示例,供读者参考学习。
接下来介绍制作动态小时钟的实现过程。
首先展示相关代码实现。
核心逻辑基于 JavaScript 编写。
<script>
function setTime(){
var now = new Date();
var year = now.getFullYear(); //获取现在的年份。
var mouth = now.getMonth() + 1; //获取本年的月份,默认的是 0-11;所以进行加 1 操作;
var date = now.getDate(); //获取日期,号
var week = now.getDay(); //获取当前时段的星期
var hour = now.getHours(); //获取当前时段的小时位
var minute = now.getMinutes(); //获取当前时段的分钟位
var second = now.getSeconds(); //获取当前时段的秒位
var week1 = ['日' , '一' , '二' , '三' , '四' , '五' , '六']
var week2 = week1[week];
//从当前时间中提取出 年、月、日、周、时、秒、分
a.innerHTML = year;
b.innerHTML = mouth;
c.innerHTML = date;
d.innerHTML = week;
e.innerHTML = hour;
f.innerHTML = minute;
g.innerHTML = second;
}
setTime();
//背景颜色
function Color(){
var w = parseInt(Math.random()*256);
var j = parseInt(Math.random()*256);
var t = parseInt(Math.random()*256);
return `rgb(${w},${j},${t})`;
}
l.style.background = Color();
setInterval(function(){
setTime();
l.style.background = Color();//背景颜色随机变化
g.style.color = Color();//字体颜色随机变化
g.style.background = Color();//背景颜色随机变化
} , 1000)
</script>
主要依赖定时器功能来驱动时钟更新。
// 定时器
// 根据设定的时间间隔,来循环执行程序
// 只要定时器不停止,程序就会一直执行
// setInterval( 参数1 , 参数2 )
// 参数1:要执行的程序,必须是一个函数的形式 function(){ 定义程序 }
// 参数2:执行程序的间隔时间 单位是毫秒
// 时间间隔不能无限小,与计算机的刷新频率有关
// 60Hz 60赫兹 代表,1秒刷新60次
// 1次就是 1000 / 60 ---- 16.666... 毫秒
// 你定义的程序的时间间隔,不能小于 16.6666... 毫秒
// 我们一般都定义最少 0.1秒,也就是 100毫秒
// 每间隔1000毫秒,也是一秒,重复执行 function(){}中的程序
以下是完整的代码实现。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div{
width: 750px;
margin: 100px auto;
text-align: center;
background-color: cyan;
border-radius: 20px;
padding: 50px 10px;
font-size: 30px;
}
span{
display: inline-block;
background-color: gainsboro;
font-size: 30px;
padding: 10px 5px;
border-radius: 4px;
}
</style>
</head>
<body>
<div id="l">
<span id="a"></span> 年 <span id="b"></span> 月
<span id="c"></span> 日 星期 <span id="d"></span>
<span id="e"></span> 时 <span id="f"></span> 分
<span id="g"></span> 秒
</div>
<script>
function setTime(){
var now = new Date();
var year = now.getFullYear(); //获取现在的年份。
var mouth = now.getMonth() + 1; //获取本年的月份,默认的是 0-11;所以进行加 1 操作;
var date = now.getDate(); //获取日期,号
var week = now.getDay(); //获取当前时段的星期
var hour = now.getHours(); //获取当前时段的小时位
var minute = now.getMinutes(); //获取当前时段的分钟位
var second = now.getSeconds(); //获取当前时段的秒位
var week1 = ['日' , '一' , '二' , '三' , '四' , '五' , '六']
var week2 = week1[week];
//从当前时间中提取出 年、月、日、周、时、秒、分
a.innerHTML = year;
b.innerHTML = mouth;
c.innerHTML = date;
d.innerHTML = week2;
e.innerHTML = hour;
f.innerHTML = minute;
g.innerHTML = second;
}
setTime();
//背景颜色
function Color(){
var w = parseInt(Math.random()*256);
var j = parseInt(Math.random()*256);
var t = parseInt(Math.random()*256);
return `rgb(${w},${j},${t})`;
}
l.style.background = Color();
setInterval(function(){
setTime();
l.style.background = Color();//背景颜色随机变化
g.style.color = Color();//字体颜色随机变化
g.style.background = Color();//背景颜色随机变化
} , 1000)
</script>
</body>
</html>
代码中加入了样式处理,使背景颜色呈现随机变化效果。


如需了解更多 JavaScript 时钟特效,可查阅相关专题内容。
以上内容旨在为学习者提供帮助,欢迎继续支持。
作者最新文章
D3.js 比例尺与坐标轴的配置详解
2026-11-05 16:54:46
JavaScript怎么遍历对象的Symbol键和不可枚举属性
2026-11-05 13:13:39
封装一个健壮的JS字符串判空工具函数
2026-11-05 12:16:14
JavaScript合并数组的三种常用方法:concat、扩展运算符与push
2026-11-05 11:22:29
JavaScript立即执行函数(IIFE)是什么及基本语法
2026-11-05 10:51:19
