使用js写简易的倒计时
步骤
1.获取span标签
2.获取现在的时间戳
3.获取未来的时间戳
4.将未来时间戳减去现在的时间戳等于相差的秒数
5.输出到页面
直接上代码
<span name="os">00d 00h 00m 00s</span>
<script>
// 获取span标签
osp = document.getElementsByName("os")[0]; // 一位数字的时候在前面加个0
function tow(n) {
return n >= 0 && n < 10 ? "0" + n : n;
} function getDate(){
// 获取现在的时间戳
var nowdate = new Date();
// 获取时间戳的毫秒数
var nowtime = nowdate.getTime(); // 获取未来的时间戳
var newdate = new Date("2020/1/11 18:00:00");
var newtime = newdate.getTime(); // 将未来时间戳减去现在的时间戳等于相差的秒数
var second = Math.floor((newtime - nowtime)/1000); // 一天等于86400秒,所以将相差的秒数除以86400等于剩余天数(math.floor向下取整)
var day = Math.floor(second/86400);
// 将秒数取余86400,等于剩余秒数
second %= 86400; // 一小时等于3600秒,所以将相差的秒数除以3600等于剩余小时(math.floor向下取整)
var hour = Math.floor(second/3600);
second %= 3600; var minute = Math.floor(second/60);
second %= 60; var ost = tow(day) + "d " + tow(hour) + "h " + tow(minute) + "m " + tow(second) + "s";
osp.innerHTML = ost;
}
getDate();
setInterval(getDate,1000); </script>
运行结果

使用js写简易的倒计时的更多相关文章
- Javascript基础示例:用JS写简易版贪吃蛇(面向对象)
废话不多说,代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...
- js写的5秒钟倒计时跳转
使用js实现几秒以后倒计时跳转,这个在某些特殊情况下还是比较实用的,下面为大家介绍下具体的实现步骤,感兴趣的朋友不要错过 代码如下: <html> <head> < ...
- 使用Node.js实现简易MVC框架
在使用Node.js搭建静态资源服务器一文中我们完成了服务器对静态资源请求的处理,但并未涉及动态请求,目前还无法根据客户端发出的不同请求而返回个性化的内容.单靠静态资源岂能撑得起这些复杂的网站应用,本 ...
- [转] 使用Node.js实现简易MVC框架
在使用Node.js搭建静态资源服务器一文中我们完成了服务器对静态资源请求的处理,但并未涉及动态请求,目前还无法根据客户端发出的不同请求而返回个性化的内容.单靠静态资源岂能撑得起这些复杂的网站应用,本 ...
- 原生JS实现简易轮播图
原生JS实现简易轮播图(渐变?) 最近做网页总是会用到轮播图,我就把之前写的轮播图单独拿出来吧,如果有...如果真的有人也需要也可以复制去用用啊..哈~.. window.onload = funct ...
- 面试题之(js实现当年剩余时间倒计时程序)
js实现当年剩余时间倒计时程序,请看代码: <script> function counter() { var date = new Date(); var year = date.get ...
- node.js 开发简易的小爬虫
node.js 开发简易的小爬虫 最近公司开发一款医药类的软件,所以需要一些药品的基础数据,所以本人就用node.js写一个简易的小爬虫,并写记录这个Demo以供大家参考. 一.开发前的准备: 1, ...
- 原生JS实现简易随机点名功能
定时器的工作原理,这里将用引用How JavaScript Timers Work中的例子来解释定时器的工作原理,该图为一个简单版的原理图.· 上图中,左侧数字代表时间,单位毫秒:左侧文字代表某一个操 ...
- Node.js写文件的三种方法
Node.js写文件的三种方式: 1.通过管道流写文件 采用管道传输二进制流,可以实现自动管理流,可写流不必当心可读流流的过快而崩溃,适合大小文件传输(推荐) var readStream = fs. ...
随机推荐
- 华为AR-111S路由器GRE协议设置
一.GRE的定义: gre(generic routing encapsulation,通用路由封装)协议是对某些网络层协议(如ip 和ipx)的数据报进行封装,使这些被封装的数据报能够在另一个网络层 ...
- 【JavaScript】常用的数据类型的处理方式
写这篇文章的目的,是在学习过程中反复查找如何对这三种数据类型进行转换的方法,所以干脆总结在一起. 一.字符串 0.includes:string.includes(),查找当前string中是否包含某 ...
- Git 教程(三):仓库与分支
远程仓库 到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了. 可是有用过集中式版本控制系统SVN的童鞋会站出来说,这些功能在SVN里早就有了, ...
- eclipse端口号冲突解决办法
解决办法如下: 1.打开cmd 2.输入 netstat -ano|findstr 8080 然后按回车键(8080对应你的端口号) 3.输入 taskkill /pid 6856 /f ...
- Spring的事务
事务:事务指的是逻辑上的一组操作,这组操作要么都成功,要么都失败. Transaction事务的四大特性ACID: 1.Atomicity原子性 事务的操作要么都成功,要么都不做,只要有一个失败,就会 ...
- vue-cli —— 项目打包及一些注意事项
打包方法: 1.把绝对路径改为相对路径:打开config/index.js 会看到一个build属性,这里就是我们打包的基本配置了.在这里可以修改打包的目录,打包的文件名.最重要的是一定要把绝对目录改 ...
- SlidingMenu第一篇 --- 导入SlidingMenu库
1. 下载地址:https://github.com/jfeinstein10/SlidingMenu 2. 找到下载好的SlidingMeun的library目录 3. 导入库(将上述地址复制到 ...
- 4.JAVA基础复习——JAVA中的构造函数与this关键字
构造函数:构建创造对象时调用的函数 特点: 1.函数名与类名相同. 2.不用定义返回值类型. 3.没有具体的返回值. public class Demo { private int age; priv ...
- JS动态添加行列
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Add-Delete Row.a ...
- Dataframe 多行合并为一行
原表数据: 最后4行合并为1行: def ab(df): return','.join(df.values) df = df.groupby(['股票代码','股票简称'])['所属概念'].appl ...