js原生倒计时
倒计时是2019年6月7号10点开始的
代码粘贴过去直接运行即可
<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>倒计时</title>
</head> <body>
<div id="timeBox"> </div>
</body>
<script>
// 获取容器
var timeBox = document.querySelector('#timeBox');
// 倒计时方法
/*
times 为未来的事件 为时间戳
*/
function countDown(times) {
// 正常是要校验的自己使用就不校验了,知道怎么传参
// 获取今天的事件戳
var today = new Date().getTime();
// 当前时间已经大于传入的时间,times不属于未来时
if (today >= times) {
return {
countdownHtml: '倒计时已经结束了',
flag: true
}
}
// 获得剩余的毫秒数
var timeDiff = times - today;
//计算剩余的天数
// /1000 转化成秒 / 60 转化成分 /60 转化成时 //转化成天 10 是 10进制
var d = parseInt(timeDiff / 1000 / 60 / 60 / 24, 10);
// 计算剩余的小时 总小时 除余 剩下的就是小时
var h = parseInt(timeDiff / 1000 / 60 / 60 % 24, 10);
// 计算剩余的分钟 总分钟数 除余 60 剩下的就是小时
var M = parseInt(timeDiff / 1000 / 60 % 60, 10);
// 计算剩余的秒数 同上的同样的
var s = parseInt(timeDiff / 1000 % 60, 10);
var seperator1 = "天";
var seperator2 = "时";
var seperator3 = "分";
var seperator3 = "秒";
// 小于两位数前边➕0
d = d < 9 ? "0" + d : d;
h = h < 9 ? "0" + h : h;
M = M < 9 ? "0" + M : M;
s = s < 9 ? "0" + s : s;
var countdown = d + seperator1 +
h + seperator2 +
M + seperator3 +
s + seperator3
return {
countdownHtml: countdown,
flag: false
}
}
// 创建一个未来时间
var times = new Date('2019/6/7 10:00').getTime();
// 获取倒计时返回的对象
var count = countDown(times);
// 调用一次函数弥补计时器空缺的一秒
timeBox.innerHTML = count.countdownHtml;
// 调用计时器
var interval = setInterval(function() {
// 重新获取倒计时返回的对象
var count = countDown(times);
if (count.flag) {
clearInterval(interval);
}
timeBox.innerHTML = count.countdownHtml;
}, 1000)
</script> </html>
js原生倒计时的更多相关文章
- js时间倒计时
看了网上的其他的例子,觉得写的都有点复杂,不好理解,于是自己动手写了个. 本来想封装成jquery插件,但是觉得因为功能很简单,没有必要做成jquery插件,引用的时候不需要引入jqery库,这里直接 ...
- js原生代码实现轮播图案例
一.轮播图是现在网站网页上最常见的效果之一,对于轮播图的功能,要求不同,效果也不同! 我们见过很多通过不同的方式,实现这一效果,但是有很多比较麻烦,而且不容易理解,兼容性也不好. 在这里分享一下,用j ...
- 倒计时的js实现 倒计时 js Jquery
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=987 一.如火如荼的团 ...
- 一个简单的js实现倒计时函数
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JS原生效果瀑布流布局的实现(一)
JS原生效果 实现: HTML页面布局: <!DOCTYPE html> <html> <head> <meta charset="utf-8&qu ...
- 工作当中实际运用(3)——js原生实现鼠标点击弹出div层 在点击隐藏
function onmou(){ var divs=document.getElementById('kefuDV');//获取到你要操作的div if (divs.style.display==& ...
- 仿jQuery的siblings效果的js原生代码
仿jQuery的siblings效果的js原生代码 <previousSibling> 属性返回选定节点的上一个同级节点(在相同树层级中的前一个节点). <nextSibling&g ...
- js原生的url操作函数,及使用方法。(附:下边还有jquery对url里的中文解码函数)
js原生的url操作函数,完善的. /*****************************/ /* 动态修改url */ /*****************************/ var ...
- js实现倒计时及时间对象
JS实现倒计时效果代码如下: <!doctype html> <html> <head> <meta charset="utf-8"> ...
随机推荐
- CCF 消息传递接口 (队列) 201903-4 (100分)
[题目描述] 老师给了 T 份 MPI 的样例代码,每份代码都实现了 n 个进程通信.这些进程标号 从 0 到 n − 1,每个进程会顺序执行自己的收发指令,如:“S x”,“R x”.“S x”表示 ...
- java的AES对称加密和解密,有偏移量
import java.math.BigDecimal; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; i ...
- 653. Two Sum IV - Input is a BST-easy
我不懂有没有收藏之类的功能,收藏别人的解法. tql,不懂为什么直接比较set里的值,不是两个数sum么 有一些答案都用到了iterator迭代器 http://www.cplusplus.com/r ...
- 解决long类型传到前端损失精度问题
原因: 解决办法:https://blog.csdn.net/xiaoxiangzi520/article/details/76522242 经过验证,发现上述解决办法回导致前端先后台传输数据时导致j ...
- Mysql对用户的操作
1.创建用户语法:CREATE USER 用户名@地址 IDENTIFIED BY '密码'; 2.给用户授权语法:GRANT 权限1, … , 权限n ON 数据库.* TO 用户名 3.撤销授权语 ...
- VS 2017 + opencv4.0
完全参考这一文章, 非常详细: https://blog.csdn.net/qq_41175905/article/details/80560429 记录自己遇到的问题: 1. VS 2017 专业版 ...
- SQL注入学习(一)
注入攻击的本质:web应用程序没有过滤用户输入或过滤不严谨,直接把用户输入的恶意数据当做代码执行 两个条件: 1.用户能够控制输入 2.原本程序要执行的代码,拼接了用户输入的数据 注入类型 SQL注入 ...
- javascript dom页面中的location属性
属性名称 host:设置或返回主机名和当前URL的端口号 hostname:设置或 返回当前的URL的主机名 href:设置或返回完整的url,可用于设置跳转 hash:设置或返回从#号开始的URL锚 ...
- CS萌新的汇编学习之路02 Learning of Assembly Language
第二节课 寄存器 1. 寄存器的定义: 进行信息储存的器件,是CPU中程序员可以读写的部件,通过改变各种寄存器中的内容来实现对CPU的控制 2. 寄存器的种类: 本节课学习通用寄存器和段寄存器 2. ...
- c# 枚举安卓系统中所有目录及文件名
using Android.App; using Android.Widget; using Android.OS; using System.Runtime.InteropServices; nam ...