编程笔记 html5cssjs 004 网页基本结构 2035年倒计时

编程笔记 html5&css&js 004 网页基本结构 2035年倒计时

  • 一、代码
  • 二、解释

这段HTML代码实现了一个倒计时页面,倒计时的目标日期是2035年1月1日。页面中使用一个<div>元素显示倒计时的天数、小时数、分钟数和秒数。

一、代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><style>body {text-align: center;background-color: #333333;color: #66ff66;}h1 {font-size: 40px; /* 字体大小 */text-align: center; /* 文本居中 */position: absolute; /* 绝对定位 */top: 25%;left: 50%;transform: translate(-50%, -50%); /* 定位调整 */}/* 设置倒计时样式 */#countdown {font-size: 75px; /* 字体大小 */text-align: center; /* 文本居中 */position: absolute; /* 绝对定位 */top: 50%; /* 顶部位置 */left: 50%; /* 左侧位置 */transform: translate(-50%, -50%); /* 定位调整 */}</style><title>2035年倒计时</title>
</head>
<body>
<h1>2035年倒计时</h1>
<div id="countdown"></div>
<script>// 设置目标日期const targetDate = new Date('2035-01-01T00:00:00').getTime();/*** 计算并显示倒计时* 该函数无参数和返回值*/function countdown() {const now = new Date().getTime(); // 获取当前时间戳const distance = targetDate - now; // 计算目标时间与当前时间的差值// 计算天、小时、分钟和秒const days = Math.floor(distance / (1000 * 60 * 60 * 24));const hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));const seconds = Math.floor((distance % (1000 * 60)) / 1000);// 在倒计时元素中显示结果document.getElementById("countdown").innerText = `${days}${hours} 小时 ${minutes} 分钟 ${seconds}`;// 每秒调用一次该函数以更新倒计时setTimeout(countdown, 1000);}// 启动倒计时countdown();
</script>
</body>
</html>

二、解释

这段HTML代码实现了一个倒计时页面,倒计时的目标日期是2035年1月1日。页面中使用一个<div>元素显示倒计时的天数、小时数、分钟数和秒数。页面加载完成后,通过JavaScript脚本计算当前时间与目标时间的差值,并动态更新<div>元素的内容来显示倒计时。
首先,在<head>标签中定义了一个CSS样式,用于设置倒计时文本的样式,包括字体大小、文本居中、绝对定位等。
接着,在<body>标签中添加了一个<div>元素,其id属性为countdown,用于显示倒计时内容。
在页面加载完成后,通过<script>标签中的JavaScript脚本设置了目标日期,并定义了一个名为countdown的函数来计算并显示倒计时。
countdown函数首先获取当前时间戳,并计算目标时间与当前时间的差值。
然后,根据差值计算天、小时、分钟和秒,并将结果显示在<div>元素中。
最后,使用setTimeout函数每秒调用一次countdown函数以更新倒计时。
最后,通过调用countdown()启动倒计时功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/731577.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot251基于springboot-vue的毕业论文管理系统

毕业论文管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本毕业论文管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短…

视频批量混剪剪辑,批量剪辑批量剪视频,探店带货系统,精细化顺序混剪,故事影视解说,视频处理大全,精细化顺序混剪,多场景裂变,多视频混剪

前言 工具的产生源于dy出的火山引擎的云视频混剪制作是按分钟数收费的&#xff0c;这个软件既能实现正常混剪也能避免二次收费。属于FFMPEG合成的。 欢迎大家给一些好的建议和功能&#xff0c;回复可见&#xff0c;附加了一些天卡&#xff0c;周卡&#xff0c;请大家不要一人占…

JavaSec 基础之 URLDNS 链

文章目录 URLDNS 链分析调用链复现反序列化复现 URLDNS 链分析 URLDNS是ysoserial里面就简单的一条利用链&#xff0c;但URLDNS的利用效果是只能触发一次dns请求&#xff0c;而不能去执行命令。比较适用于漏洞验证这一块&#xff0c;而且URLDNS这条利用链并不依赖于第三方的类…

Node.js是什么?

概念&#xff1a;Node.js1运行在服务器端的js&#xff0c;用来编写服务器 特点&#xff1a;单线程、异步、非阻塞、统一API 是一个构建在V8引擎之上的js运行环境&#xff0c;它使得js可以运行在浏览器以外的地方&#xff0c;相对于大部分的服务器端语言来说&#xff0c;Node.J…

练习3-softmax分类(李沐函数简要解析)与d2l.train_ch3缺失的简单解决方式

环境为:练习1的环境 网址为:https://www.bilibili.com/video/BV1K64y1Q7wu/?spm_id_from333.1007.top_right_bar_window_history.content.click 代码简要解析 导入模块 导入PyTorch 导入Torch中的nn模块 导入d2l中torch模块 并命名为d2l import torch from torch import nn…

Neo4j安装 Linux:CentOS、openEuler 适配langchain应用RAG+知识图谱开发 适配昇腾910B

目录 Neo4j下载上传至服务器后进行解压运行安装JAVA再次运行在windows端打开网页导入数据 Neo4j下载 进入Neo4j官网下载页面 向下滑动找到 Graph Database Self-Managed 选择 社区版&#xff08;COMMUNITY&#xff09; 选择 Linux / Mac Executable Neo4j 5.17.0 (tar) 单机下…

分销商城微信小程序:用户粘性增强,促进复购率提升

在数字化浪潮的推动下&#xff0c;微信小程序作为一种轻便、高效的移动应用形式&#xff0c;正成为越来越多企业开展电商业务的重要平台。而分销商城微信小程序的出现&#xff0c;更是为企业带来了前所未有的机遇。通过分销商城微信小程序&#xff0c;企业不仅能够拓宽销售渠道…

产品推荐 - 基于矽海达 SEM9363的无线数字图传编码开发板

Sihid SEM9363无线数字图传编码调制板(A版本)通过HDMI接口输入高清数字视频到Hi3516A处理器做H.264压缩编码&#xff0c;压缩后的视频信号通过FPGA实现COFDM信道调制&#xff0c;再经AD936x转换为模拟信号调制发射出去。 SEM9363板功能与技术规格 通过Micro HDMI接口输入数字视…

生活的色彩--爱摸鱼的美工(17)

题记 生活不如意事十之八九&#xff0c; 恶人成佛只需放下屠刀&#xff0c;善人想要成佛却要经理九九八十一难。而且历经磨难成佛的几率也很小&#xff0c;因为名额有限。 天地不仁以万物为刍狗&#xff01; 小美工记录生活&#xff0c;记录绘画演变过程的一天。 厨房 食…

AI探索实践12 - Typescript开发AI应用4:大模型响应数据的格式化输出

大家好&#xff0c;我是feng&#xff0c;感谢你阅读我的博文&#xff0c;如果你也关注AI应用开发&#xff0c;欢迎关注公众号和我一起​探索。如果文章对你有所启发&#xff0c;请为我点赞&#xff01; 一、重点回顾 在介绍本文之前的文章中&#xff0c;我们先来回顾一下使用L…

Google OAuth2.0获取授权信息返回的id_token如何解析

背景 我们在做google登录的时候&#xff0c;第一步先要获取授权码code&#xff0c;在得到code之后会根据code拿到授权的token信息&#xff0c;token信息中包含&#xff1a;access_token&#xff0c;refresh_token&#xff0c;scope&#xff0c;token_type&#xff0c;expires_…

两天学会微服务网关Gateway-Gateway过滤器

锋哥原创的微服务网关Gateway视频教程&#xff1a; Gateway微服务网关视频教程&#xff08;无废话版&#xff09;_哔哩哔哩_bilibiliGateway微服务网关视频教程&#xff08;无废话版&#xff09;共计17条视频&#xff0c;包括&#xff1a;1_Gateway简介、2_Gateway工作原理、3…

前端React篇之React中什么是受控组件和非控组件?

目录 React中什么是受控组件和非控组件&#xff1f;受控组件非受控组件 React中什么是受控组件和非控组件&#xff1f; 在React中&#xff0c;受控组件和非受控组件是两种表单元素的状态管理方式。 受控组件 受控组件&#xff08;Controlled Component&#xff09;是指其值由…

探秘Solr:解密搜索引擎背后的原理与应用(一)

本系列文章简介&#xff1a; 在本系列文章中&#xff0c;我们将从Solr的基本概念开始&#xff0c;解释索引和搜索是如何工作的&#xff0c;深入探讨倒排索引、分词器和搜索算法等关键概念。接着&#xff0c;我们将了解Solr的工作原理&#xff0c;从数据导入和索引构建到搜索流程…

数据结构 - 栈和队列

本篇博客将介绍栈和队列的定义以及实现。 1.栈的定义 栈是一种特殊的线性表&#xff0c;只允许在固定的一端进行插入和删除数据&#xff0c;插入数据的一端叫做栈顶&#xff0c;另一端叫做栈底。栈中的数据遵守后进先出的原则 LIFO (Last In First Out)。 插入数据的操作称为压…

如何借助私域营销在医美行业中脱颖而出?

在现今这个以貌取人的社会&#xff0c;外貌焦虑已变得司空见惯。美丽往往能给人带来更多的瞩目和机遇&#xff0c;但天生丽质并非人人可得。随着经济的繁荣和消费结构的升级&#xff0c;颜值经济开始崭露头角&#xff0c;医美行业因此受到了广大消费者的青睐&#xff0c;迎来了…

Leetcode 剑指 Offer II 068.搜索插入位置

题目难度: 简单 原题链接 今天继续更新 Leetcode 的剑指 Offer&#xff08;专项突击版&#xff09;系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给定一个排序的整数数组 nums 和一个整数目标值 target &#xf…

阿波罗登月需要解决飞行控制问题,数学家卡尔曼在维纳控制的基础上提出了卡尔曼滤波

说到登月&#xff0c;很多人只想到和火箭以及航天器相关的技术&#xff0c;其实登月离不开信息技术的革命。因为从飞行控制到远程通信&#xff0c;都需要解决很多过去从未遇到过的难题。 登月首先要保证在月球上着陆的地点准确&#xff0c;而且要保证返回火箭和飞船能够在月球轨…

【LeetCode: 211. 添加与搜索单词 - 数据结构设计 + 前缀树】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

npm install没有创建node_modules文件夹

问题记录 live-server 使用时 报错&#xff1a;live-server : 无法将“live-server”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。 npm install 安装 但是 这时npm install没有创建node_modules文件夹&#xff0c;只生成package-lock.json文件 方法一&#xff1a; 手…