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

【前端教程】用 JavaScript 实现4个常用时间与颜色交互功能

在前端开发中,时间处理(如时钟、倒计时)和动态样式(如随机颜色)是基础且高频的需求。本文将通过4个实战案例,从原理拆解到代码实现,带你掌握Date对象、setInterval定时器、Math随机方法的核心用法,每个案例都包含完整代码与关键知识点解析,适合前端初学者入门学习。

案例1:获取当前时间并格式化输出

需求说明

编写函数,通过JavaScript的Date对象获取当前时间,最终以 “2222年 02月11日 11:09:01 星期X” 的格式展示(需处理“补零”和“星期映射”问题)。

核心知识点

  1. Date对象:JavaScript中处理时间的内置对象,可获取年、月、日、时、分、秒等时间维度。
  2. 时间补零:月份(0-11)需+1,且所有单个数字的时间单位(如2月→02月、9分→09分)需补“0”。
  3. 星期映射getDay()方法返回0(周日)-6(周六),需通过数组映射为“星期X”格式。

完整代码实现

<!DOCTYPE html>
<html>
<head><meta charset="utf-8" /><title>获取当前时间</title><script>// 页面加载完成后执行window.onload = function() {getCurrentTime();};// 核心函数:获取并格式化当前时间function getCurrentTime() {// 1. 创建Date对象,获取当前时间const now = new Date();// 2. 提取时间维度(处理月份+1、补零逻辑)const year = now.getFullYear(); // 年份(如2024)const month = addZero(now.getMonth() + 1); // 月份(0-11→+1后补零)const day = addZero(now.getDate()); // 日期(1-31→补零)const hours = addZero(now.getHours()); // 小时(0-23→补零)const minutes = addZero(now.getMinutes()); // 分钟(0-59→补零)const seconds = addZero(now.getSeconds()); // 秒(0-59→补零)// 3. 处理星期(0=周日→映射为“星期日”)const weekArr = ["日", "一", "二", "三", "四", "五", "六"];const week = weekArr[now.getDay()];// 4. 拼接格式并渲染到页面const timeStr = `${ year}${ month}${ day}${ hours}:${ minutes}:${ seconds} 星期${ week}`;document.getElementById("timeContainer").innerHTML = timeStr;}// 辅助函数:单个数字补零(如2→02,10→10)function addZero(num) {return num < 10 ? `0${ num}
http://www.xdnf.cn/news/1388035.html

相关文章:

  • mysql安全运维之常见攻击类型与防御指南-从SQL注入到权限提升
  • iOS 文件管理与 uni-app 性能优化实战 多工具协作的完整指南
  • 知识卡片html5动态网页源码
  • 2025-08-28-zabbix5.0创建监控项通过脚本简单实现监控oracle11g的磁盘组和表空间的使用量
  • 【从零开始搭建你的 AI 编程助手知识库】
  • Docker的常用命令及简单使用
  • 微积分 | 积分代换
  • 探索永洪vividime的超链接功能:数据分析的桥梁
  • C# NET5.0及以上版本中如何处理MySQL大数据查询
  • 数据防泄与最小可见:ABP 统一封装行级安全(RLS)+ 列级脱敏
  • Go对接全球期货数据源指南:基于StockTV API实现多品种实时监控
  • whisper-large-v3 模型
  • Rust Tokio异步任务实战教程(高级功能)
  • 【前端教程】二维数组排序实战:按需封装才是最优解——拒绝冗余,精简代码
  • Rust语言能干什么
  • PHP的uniqid() 函数分析
  • LangChain实战(二):环境搭建与Hello World(国内开源模型版)
  • 嵌入式Linux驱动开发 - 并发控制机制
  • 【开题答辩全过程】以 基于Spring Boot的网上家庭烹饪学习系统的设计与实现为例,包含答辩的问题和答案
  • 不止 ChatGPT:多模态 AI(文本 + 图像 + 音频)正重构内容创作全流程
  • 以技术赋能强化消费者信任,助推餐饮服务质量提质增效的明厨亮灶开源了
  • [密码学实战]基于SM2实现协同签名(四十五)
  • 微算法科技(NASDAQ:MLGO)一种基于FPGA的Grover搜索优化算法技术引领量子计算
  • QT5.14.2、CMake 扩展openCV
  • JVM_JMM
  • 面试八股文之——JVM与并发编程/多线程
  • Python Imaging Library (PIL) 全面指南:PIL基础入门-构建简易图像编辑器
  • LSTM实战:回归 - 实现交通流预测
  • 在Windows系统上将Java的.jar文件部署为服务
  • stylelint在项目中使用