js倒计时-倒计输入的时间
计算指定时间到指定时间之间相差多少天、时、分、秒。
节日、活动、商城常用。

原理:
主要使用到时间戳,也就是从1970 年 1 月 1 日 到指定时间的毫秒数。
1. 求出毫秒差 :当两个时间直接进行运算时,他们自动返回毫秒值。
2. 换算时间单位: 向下取整,把毫秒转为相应的单位;再把剩下的毫秒取出来转为下一个需要的单位。
时间戳可以用 Date.pare(时间) 或 时间.getTime() 得到。 前者可以用字符串或时间对象,后者只能使用时间对象。
HTML
<!--
Author: XiaoWen
Create a file: 2017-01-03 19:05:26
Last modified: 2017-01-04 14:17:31
Start to work:
Finish the work:
Other information:
-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<input type="text">
<input type="text">
<input type="button" value="开始倒计时">
</body>
<script>
//js代码在下面
</script>
</html>
JS
var input = document.getElementsByTagName('input');
var timer=null;
input[2].onclick=function(){
//clearInterval(timer)
timer=setInterval(test,1000);
}
function test(){
var t1=input[0].value//='2017/01/05 13:31';
if(new Date(t1)-new Date()<=0){
clearInterval(timer);
alert('计时完成');
}else{
var d=cd(t1, new Date(), 'd');
var h=cd(t1, new Date(), 'h');
var m=cd(t1, new Date(), 'm');
var s=cd(t1, new Date(), 's');
input[1].value=d+'天'+h+'时'+m+'分'+s+'秒';
}
}
JS倒计时函数
/*
2017-01-04 by xw
获取倒计时 返回值数字
t1 开始时 时间格式
t2 结束时 时间格式
tg 要获取的值 字符串
d 天
h 时
m 分
s 秒
*/
function cd(t1, t2, tg) {
//相差的毫秒数
var ms = Date.parse(t1) - Date.parse(t2);
var minutes = 1000 * 60;
var hours = minutes * 60;
var days = hours * 24;
var years = days * 365;
//求出天数
var d = Math.floor(ms / days);
//求出除开天数,剩余的毫秒数
ms %= days;
var h = Math.floor(ms / hours);
ms %= hours;
var m = Math.floor(ms / minutes);
ms %= minutes;
var s = Math.floor(ms / 1000);
//返回所需值并退出函数
switch(tg){
case 'd' : return d;
case 'h' : return h;
case 'm' : return m;
case 's' : return s;
}
}
js倒计时-倒计输入的时间的更多相关文章
- js 倒计时点击和当前时间
<input id="btn" type="submit" value="确定" disabled="disabled&qu ...
- js 倒计时功能,获取当前时间的年月日,时分秒
一.实现当前时间到指定截止时间的倒计时功能 <html> <head> <title>TEST</title> </head> <bo ...
- 160301、js倒计时,页面上显示时间
js: //倒计时 var countdown=60,t; function settime(){ if (countdown == 0) { $("#validateBtn"). ...
- js倒计时 手机休眠时 时间不进行减少
http://www.111cn.net/wy/js-ajax/94218.htm 手机版网页js倒计时存在的问题与解决的方法 www.111cn.net 更新:2015-09-16 编辑:kp123 ...
- js 倒计时(可自定义时间)
<html> <head> <title>js 倒计时</title> </head> <body> <div> & ...
- JS倒计时 代码
JS倒计时 代码 <div> <span id="KSD">3</span>天 <span id="KSH">1 ...
- [浪风推荐]javascritp中倒计定时器和循环定时器
在javascritp中,有两个关于定时器的专用函数,分别为: 1.倒计定时器:timename=setTimeout(“function();”,delaytime); 2.循环定时器:timena ...
- js倒计时,秒倒计时,天倒计时
按天倒计时 HTML代码1: <Script Language="JavaScript"> <!-- Begin var timedate= new Date(& ...
- JS倒计时(刷新页面不影响)的实现思路
最近在做一个项目,用到了点击按钮实现倒计时,这个用js来实现很简单.但是遇到了一个问题 页面刷新后js重新加载导致 倒计时重新开始,或者直接初始化了 后来通过 cookie 保存来实现了js倒计时,关 ...
随机推荐
- Entity Framework教程(第二版)
源起 很多年前刚毕业那阵写过一篇关于Entity Framework的文章,没发首页却得到100+的推荐.可能是当时Entity Framework刚刚发布介绍EF的文章比较少.一晃这么多年过去了,E ...
- 深入理解DIP、IoC、DI以及IoC容器
摘要 面向对象设计(OOD)有助于我们开发出高性能.易扩展以及易复用的程序.其中,OOD有一个重要的思想那就是依赖倒置原则(DIP),并由此引申出IoC.DI以及Ioc容器等概念.通过本文我们将一起学 ...
- NoSql数据库使用半年后在设计上面的一些心得
NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚.但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题? 这个疑惑非常大,为此我看了很多分析文章, ...
- ASP.NET内置对象的总结
1. Response对象可形象的称之为响应对象,用于将数据从服务器发送回浏览器. 实例源码:链接: http://pan.baidu.com/s/1dDCKQ8x 密码: ihq0 2. Requ ...
- Ubuntu 14.04中Elasticsearch集群配置
Ubuntu 14.04中Elasticsearch集群配置 前言:本文可用于elasticsearch集群搭建参考.细分为elasticsearch.yml配置和系统配置 达到的目的:各台机器配置成 ...
- C#中如何调整图像大小
在本篇文章中,我将介绍如何在C#中来调整你想要的图像大小.要实现这一目标,我们可以采取以下几个步骤: 1.首先要获取你想要调整大小的图像: string path = Server.MapPath(& ...
- 从c#角度看万能密码SQL注入漏洞
以前学习渗透时,虽然也玩过万能密码SQL注入漏洞登陆网站后台,但仅仅会用,并不理解其原理. 今天学习c#数据库这一块,正好学到了这方面的知识,才明白原来是怎么回事. 众所周知的万能密码SQL注入漏洞, ...
- .NET同步与异步之相关背景知识(六)
在之前的五篇随笔中,已经介绍了.NET 类库中实现并行的常见方式及其基本用法,当然.这些基本用法远远不能覆盖所有,也只能作为一个引子出现在这里.以下是前五篇随笔的目录: .NET 同步与异步之封装成T ...
- Collection集合
一些关于集合内部算法可以查阅这篇文章<容器类总结>. (Abstract+) Collection 子类:List,Queue,Set 增: add(E):boolean addAll(C ...
- js 基础篇(点击事件轮播图的实现)
轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...