当前位置: 首页 > 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.dtcms.com/a/357233.html

相关文章:

  • centos8部署miniconda、nodejs
  • webpack升级
  • 飞牛Nas每天定时加密数据备份到网盘,基于restic的Backrest笔记分享
  • linux和RTOS架构区别
  • 通过 KafkaMQ 接入Skywalking 数据最佳实践
  • JAVA:Spring Boot 集成 Easy Rules 实现规则引擎
  • 滚珠导轨如何赋能精密制造?
  • 【数据分享】省级人工智能发展水平综合指标体系(2011-2022)
  • 安卓开发---BaseAdapter(定制ListView的界面)
  • 基于SpringBoot和Thymeleaf开发的英语学习网站
  • 笔记本电脑频繁出现 vcomp140.dll丢失怎么办?结合移动设备特性,提供适配性强的修复方案
  • C#连接SQL-Server数据库超详细讲解以及防SQL注入
  • LSTM实战:回归 - 实现交通流预测
  • 保护海外服务器免受黑客攻击的方法
  • WebSocket功能完整解析
  • Linux系统——EXT2 文件系统
  • 【论文阅读】Sparse4D v2:Recurrent Temporal Fusion with Sparse Model
  • HTML 和 JavaScript 关联的基础教程
  • Emeditor 提取IP地址正则表达式
  • 音视频直播卡顿分析与优化:技术原理、实践案例与未来趋势
  • 如何使用 Graylog 连接 Easysearch
  • vue3+wangEditor实现富文本编辑器
  • 【黑客技术零基础入门】黑客入门教程(非常详细)从零基础入门到精通,看完这一篇就够了
  • Java面试现场:Spring Boot+Redis+MySQL在电商场景下的技术深度剖析
  • 机器学习复习
  • 使用 C# 复制 Word 文档内容 - 页面、节、段落、表格、页眉页脚等
  • 对接连连支付(八)-- 支付订单关闭
  • 52-容器总结与应用
  • LeetCode259~282题解
  • 使用STM32CubeMX使用CAN驱动无刷电机DJI3508