javaScript实现倒计时功能

news2025/7/10 6:12:08

目录

一、主要思路

二、css样式

三、html代码

四、js内容

五、完整代码展示

六、效果展示


一、主要思路

1.通过内置时间函数实例化日期对象获取当前时间 new Date。

2.因为时间无法减去时间,有可能生成负数,所以采用时间戳的方法得到毫秒数形式的剩余时间,然后再把剩余时间转换为天、时、分、秒格式。

3.最后把所获得的内容赋值给定义的变量。

二、css样式

主要为了内容在页面展示美观,稍微美化一下。

<style>
        p{
            font-size: 36px;
            margin: 0 auto;
            text-align: center;
            line-height: 500px;
        }
        span{
            color: red;
        }
    </style>

三、html代码

定义一个默认格式为JavaScript引入定义变量。

<p>倒计时:<span>0</span>天<span>0</span>时<span>0</span>分<span>0</span>秒</p>

四、js内容

1.首先获取html里面的spans里的全部标签用querySelectorAll获取。

2.用endTime标签定义结束时间,并给结束时间赋值。

3.同理,用newTine标签定义结束标签。

4.定义diffTime用来取结束时间减去现在时间获取的毫秒。

5.getTime标签主要用来将获取的时间转化为毫秒形式。

6.除以1000是提前将毫秒转化为秒。

       var spans = document.querySelectorAll('span');
       var endTime = new Date ('2022-10-1 12:00:00').getTime();
       var newTime = new Date ().getTime();
       var diffTime = (endTime-newTime)/1000;

1.定义day,hour,min,sen用来定义倒计时的天、时、分、秒。

2.parseInt用来将得到的值转化为整数形式。

3.用得到的秒/60得到多少分再/60得到多少时再/24得到多少天。

4.hour/60/60%24:用所得的时间把大数除以24取余得到还要多少小时,分,秒同理。

       var day = parseInt(diffTime/60/60/24);
       var hour = parseInt(diffTime/60/60%24);
       var min = parseInt(diffTime/60%60);
       var sen = parseInt(diffTime%60);

将所得到的天、时、分、秒通过innerText方式给之前定义span标签赋值。

       spans[0].innerText = day;
       spans[1].innerText = honur;
       spans[2].innerText = min;
       spans[3].innerText = sen;

最后将整个JavaScript中的内容定义一个函数中,在定时器中调用整个函数实现倒计时的效果。

showTime是我定义的函数名,1000代表1000毫米循环一次函数。

setInterval(showTime,1000)

五、完整代码展示

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        p {
            font-size: 36px;
            margin: 0 auto;
            text-align: center;
            line-height: 500px;
        }

        span {
            color: red;
        }
    </style>
</head>

<body>
    <p>倒计时:<span>0</span>天<span>0</span>时<span>0</span>分<span>0</span>秒</p>
    <script>
        function showTime() {
            var spans = document.querySelectorAll('span');
            var endTime = new Date('2022-10-1 12:00:00').getTime();
            var newTime = new Date().getTime();
            var diffTime = (endTime - newTime) / 1000;
            var day = parseInt(diffTime / 60 / 60 / 24);
            var honur = parseInt(diffTime / 60 / 60 % 24);
            var min = parseInt(diffTime / 60 % 60);
            var sen = parseInt(diffTime % 60);
            spans[0].innerText = day;
            spans[1].innerText = honur;
            spans[2].innerText = min;
            spans[3].innerText = sen;
        }
        setInterval(showTime, 1000)


    </script>
</body>

</html>

六、效果展示

 

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

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

相关文章

(完整版)2022大厂Java八股文面试题库|附答案

Java基础 说下面向对象四大特性Java语言有些特点什么是Java程序的主类&#xff1f;应用程序和小程序的主类有何不同&#xff1f;访问修饰符public,private,protected,以及不写&#xff08;默认&#xff09;时的区别&#xff1f;float f3.4;是否正确&#xff1f;Java有没有goto…

Spring Boot(四):Spring Boot启动原理分析

文章目录 Spring Boot启动原理分析 一、依赖导入原理 二、Spring Boot包扫描原理 三、Spring Boot自动配置原理 Spring Boot启动原理分析 一、依赖导入原理 父项目版本控制 ctrl 点击spring-boot-starter-parent进入 继续点击&#xff0c;进入spring-boot-dependencies…

微前端-qiankun

概念 使用框架&#xff1a;qiankun 介绍&#xff1a; qiankun 是一个基于 single-spa 的微前端实现库&#xff0c;旨在帮助大家能更简单、无痛的构建一个生产可用微前端架构系统。 qiankun官网&#xff1a;Go 当使用 iframe 整合系统时&#xff0c;假设我们有系统 A, 当我们…

MySQL+Navicat安装配置教程(超级详细、保姆级)

MySQLNavicat安装配置教程&#xff08;超级详细、保姆级&#xff09;一、 下载MySQL1. 选择想要安装的版本&#xff0c;点击Download下载二、安装MySQL1. 选择设置类型2. 选择安装的产品和功能3. 先选中“MySQL Server 5.7.31” &#xff0c;之后点击下方的蓝色“Advanced Opti…

Crontab表达式执行定时任务

Cron是一个Linux下的定时执行工具&#xff0c;可用于执行定时任务。 启动、关闭、查看Cron服务的语法&#xff1a; 启动&#xff1a;/sbin/service crond start 查看&#xff1a;/sbin/service crond status 停止&#xff1a;/sbin/service crond stop 重启&#xff1a;/sbin…

微信小程序 h5页面跳转小程序(超详细讲解)

h5跳转小程序 实战项目从无到完整的h5跳转小程序经验&#xff0c;跳转方式分为云函数跳转和开放性标签跳转。 开放性标签是针对微信里面浏览器使用的&#xff0c;而云函数跳转在外部以及微信里面都可以使用。 建议需要的同学先全部浏览一遍本文。内容较长较为啰嗦。 一、不…

jQuery 获取与设置 元素属性【一篇文章轻松拿下】

hello大家好呀&#xff01;此篇文章带领大家熟练掌握 jQuery 的属性方面的操作&#xff0c;包括固有属性的获取与设置&#xff0c;自定义属性的获取与设置等等&#xff0c;走进 jQuery 的更深层次阶段 文章目录&#xff1a; 一&#xff1a;固有属性的设置与获取 prop 1.1 固有…

uniapp 中设置全局页面背景色

uniapp 中设置全局页面背景色 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 未生效 : 在pages.json里面设置单页面背景色,这种是不行的,只能在页面内生效 方法1: pages.json globalStyle 中设置 backgroundColor // pages.json"globalStyle&quo…

Vue路由传参的方法和传递参数为对象时的问题

vue路由传参方法 在编写vue项目时&#xff0c;时常会使用路由在不同页面中传递参数&#xff0c;常见使用方式如下&#xff1a; this.$router.push({path: "/test",query: {a: 1,b: 2} }) 这样我们就传递了两个参数&#xff0c;在 /test 页面 就可以接收这两个参数…

【网络】https协议

&#x1f941;作者&#xff1a; 华丞臧. &#x1f4d5;​​​​专栏&#xff1a;【网络】 各位读者老爷如果觉得博主写的不错&#xff0c;请诸位多多支持(点赞收藏关注)。如果有错误的地方&#xff0c;欢迎在评论区指出。 推荐一款刷题网站 &#x1f449; LeetCode刷题网站 文章…

黑马程序员最新版JavaWeb综合案例(前后端完整版)

JavaWeb 综合案例 学习视频链接: 黑马程序员最新版JavaWeb基础教程&#xff0c;Java web从入门到企业实战完整版 完整代码链接&#xff1a; https://github.com/HaiLei-Fly/JavaWeb-brand 1、功能介绍 案例功能&#xff1a; 用户登录&#xff08;账号密码登录&#xff09;…

基于JavaSpringBoot+Vue+uniapp微信小程序实现在线房屋装修管理系统

博主介绍&#xff1a;✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

分布式Id生成方式

为什么要用分布式ID&#xff1f; 在说分布式ID的具体实现之前&#xff0c;我们来简单分析一下为什么用分布式ID&#xff1f;分布式ID应该满足哪些特征&#xff1f; 1、什么是分布式ID&#xff1f; 拿MySQL数据库举个栗子&#xff1a; 在我们业务数据量不大的时候&#xff0c…

Zotero 超好用插件的下载链接及配置方法(PDF-translate/ZotFile/茉莉花/Zotero Scihub)

目录前言插件安装方法插件一&#xff1a;文献翻译插件&#xff08;pdf-translate&#xff09;插件二&#xff1a;文献附件管理&#xff08;ZotFile&#xff09;插件三&#xff1a;中文文献插件&#xff08;茉莉花&#xff09;插件四&#xff1a;Sci-Hub 自动下载文献&#xff0…

vue3项目实战中的接口调用方法(一)async/await用法 对axios二次封装 实现异步请求

vue3 async和await联合调用接口 &#x1f525;一文搞定&#x1f525;点击进入vue专栏&#x1f525;async/await定义async/await用法&#x1f525;async/await的基本用法async/await的使用场景async/await实战&#x1f525;&#x1f525;处理一个异步请求处理多个异步请求summar…

从函数计算到 Serverless 架构

作者&#xff1a;秋雨陈 前言 随着 Serverless 架构不断发展&#xff0c;各云厂商和开源社区都已经布局 Serverless 领域&#xff0c;一方面表现在云厂商推出传统服务/业务的 Serverless 化版本&#xff0c;或者 Serverless 计算平台&#xff1b;另一方面表现在开源社区中 Se…

远程构建(命令、脚本构建)jenkins

在对应项目&#xff0c;开启远程构建开关添加API token系统设置调整用户权限获取crumbcurl调用构建 1、进入对应项目的设置页面&#xff1a;开启远程构建开关 2、 添加 API token&#xff1a;进入对应用户的设置页面 3、系统设置调整权限&#xff0c;如图 4、由于jenkins的安全…

使用element-ui中的el-upload自定义上传

题引&#xff1a; 日常开发系统的时候&#xff0c;我们都会有上传文件的功能。但是用原生的文件上传是很繁琐的&#xff0c;那么我们都会选择使用UI组件库&#xff0c;如element-plus、ant-design等。这些UI组件库是非常容易上手且实用的&#xff0c;但是万恶的需求是奇怪多变…

vue项目引入百度地图BMapGL和BMap实例,以及辅助工具BMapGLLib 的引入,BMapGL鼠标绘制功能

记录一下vue项目使用百度地图所用的api和踩过的坑&#xff0c;减少以后引用少走弯路。旨在记录&#xff0c;第一次开贴&#xff0c;不足之处请多多指教。废话不多说&#xff0c;开撸&#xff01; 1、引用百度地图 这里账号密钥不多说&#xff0c;上链接&#xff0c;自己注册。…

【kubernetes】k8s集群搭建(完整详解)

目录 一、准备工作 二、配置 1、修改主机名 2、修改hosts文件 3、关闭防火墙和SELinux 4、关闭swap 5、修改网卡配置 6、系统模块配置 7、免密登录 8、安装k8s和docker 9、查看k8s集群需要的镜像版本 10、初始化Master节点 11、node配置 12、拉取Nginx镜像进行配置…