<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>js实现倒计时</title>
<meta name="keywords" content="关键字列表" />
<meta name="description" content="网页描述" />
<link rel="stylesheet" type="text/css" href="" />
<style type="text/css"></style>
<script type="text/javascript">
</script>
</head>
<body>
<div></div>
</body>
</html>
<script>
//函数的参数为活动的结束日期
var stringTime = '2016-12-22 21:23:10';
function daoji(stringTime){
//获取即时时间的对象
var now = new Date();
//获取结束时间的对象
var end = new Date(stringTime);
//获取即时的时间戳
var nowTimeStamp = now.getTime();
//获取活动结束的时间戳
var endTimeStamp = end.getTime();
//活动剩余秒数,js的时间戳是毫秒级别的
var remainSecond= (endTimeStamp - nowTimeStamp) / 1000;
//剩余的秒数等于days+hours+minutes+seconds
var oneDay = 24*60*60;
var oneHour = 60*60;
var oneMinute = 60;
//剩余的天数
var remainDays = parseInt((remainSecond / oneDay));
//减掉整数的天数,并对剩下的进行小时取整就是剩下的小时
var remainHours = parseInt(((remainSecond - (remainDays*oneDay)) / oneHour));
var Hours = parseInt((remainSecond / oneHour));
//减掉整数的小时,并对剩下的进行分钟取整就是剩下的分钟数
var remainMinutes = parseInt((remainSecond - (Hours*oneHour)) / oneMinute);
//减掉整数的分钟就是剩下的秒数
var Minutes = parseInt(remainSecond / oneMinute);
var remainSeconds = parseInt(remainSecond - (Minutes * oneMinute));
//倒计时开始
var endtime = remainDays + '天'+ remainHours + '小时'+ remainMinutes +'分钟'+ remainSeconds +'秒';
var div1 = document.getElementsByTagName('div')[0];
if(remainDays < 0 || remainHours < 0 || remainMinutes < 0 || remainSeconds < 0){
div1.innerHTML = '活动已经结束';
clearInterval(k);
return;
//判断活动是否到期
}else if(remainDays == 0 && remainHours == 0 && remainMinutes == 0 && remainSeconds == 0){
div1.innerHTML = '活动已经结束';
clearInterval(k);//清除定时器
return;
}
div1.innerHTML = '';
div1.innerHTML = endtime;
}
var k =setInterval("daoji(stringTime)",1000);
</script>

一个简单的js实现倒计时函数的更多相关文章

  1. 利用windows.h头文件写一个简单的C语言倒计时

    今天写一个简单的倒计时函数 代码如下: #include<stdio.h> #include<windows.h> int main() { int i; printf(&qu ...

  2. 一个简单的JS倒计时

    看到很多商城都是抢购倒计时的功能,今天闲来无事做了个倒计时.全当学习JS. 主要思路:主要用到Date对象,声明一个变量获取当前时间,在声明一个变量获取结束时间,结束时间-当前时间=剩余时间(倒计时) ...

  3. 一个简单的JS函数,用于判断文本是否数字

    /****************************************************** 判断是否是数字(整数,小数均可,不包括负数)* 2014年10月10日22:38:19* ...

  4. 一个简单的js面试题

    在js群里看到有人发问,于是抱着练手的心态写了答了几个面试题,题目虽然不是太难,却很考验人的编程思维.汗颜,看了别人的答案后才发现自己好像笨了很多. 废话不说了 ,上代码. 1 要求 给一个数组的最后 ...

  5. 一个简单的 js 时间对象创建

    JS中获取时间很常见,凑凑热闹,也获取一个时间对象试试 首先,先了解js的获取时间函数如下: var myDate = new Date();          //创建一个时间对象 myDate.g ...

  6. 一个简单的增强型PHP curl函数

    啥都不说,先上代码 <?PHP /* * @author 小伍 */ echo "<pre>"; $proxy = array('url'=>'http:/ ...

  7. Chart.js: 一个简单的 JS Chart Library

    Chart.js 是一个 Open Source 的 JavaScript Chart Library.它一共有 6 中 Chart,全都是 HTML5 based. 底下是 Chart.js 所提供 ...

  8. 一个简单的JS日期挂历脚本

    分享一个JS脚本做的日期挂历,在需要的时候可以引入你的程序. 如需单独引入这个脚本,请将它保存在一个文件中然后引入它:如这样 <script type="text/javascript ...

  9. isMobile 一个简单的JS库,用来检测移动设备

    点这里 github地址:https://github.com/kaimallea/isMobile Example Usage I include the minified version of t ...

随机推荐

  1. 打开APK里的AndroidManifest.xml乱码

    直接解压apk,打开AndroidManifest.xml显示乱码,因为这里面是二进制字符,和打开文件的编辑器无关.(也可以用ultraedit打开查看,有明文显示.只是看起来搜起来不是很方便而已) ...

  2. redis 密码配置

    http://blog.csdn.net/vtopqx/article/details/46833099 http://www.2cto.com/database/201412/365757.html ...

  3. 基于NPOI的报表引擎——ExcelReport

    前言 其实现在说ExcelReport是报表引擎还为时尚早,但该组件我既然要决心维护下去,这便算是初衷吧! 1.现在,ExcelReport能为你做什么呢? 如果,你有导出数据到Excel的需求,Ex ...

  4. iOS- 制作U盘安装Mac OS X 系统

    需要: 1.下载Yomitate.app or Capitan.app 跳转到官网或者第三方. 2.准备一台Mac 电脑 3.准备一个8G U盘. 安装: 步骤1.将Yomitate.app 拖到应用 ...

  5. Build2016上值得一看的大数据相关Session

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:Build2016开完很久了,现在才来回顾下,就说说那些和大数据相关的Session, ...

  6. 【原创】AC自动机小结

    有了KMP和Trie的基础,就可以学习神奇的AC自动机了.AC自动机其实就是在Trie树上实现KMP,可以完成多模式串的匹配.           AC自动机 其实 就是创建了一个状态的转移图,思想很 ...

  7. 开发常用之在webstorm中使用cmd

      而今前端开发经常与cmd打交道,如使用个npm什么的,如果老是在ide和cmd之间切换显得比较繁琐,众多前端利器中我最喜欢的就是webstorm,而webstorm中就可以直接使用cmd,如图1, ...

  8. 修改nignx报错Nginx [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)

    Nginx [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) 这个错误是修改了nginx的配置时出现,表名80端口被程 ...

  9. 解决Eclipse左键无法查看maven第三方包的源代码,多图亲测可用【转】

    Debug进不了的原因及解决办法: 一.ctrl+左键点击没有找到你的源码 1.先设置maven 2.通过maven下Jar包源码 选中总包目录下的pom.xml-->右键-->Run A ...

  10. Node.js用ES6原生Promise对异步函数进行封装

    Promise的概念 Promise 对象用于异步(asynchronous)计算..一个Promise对象代表着一个还未完成,但预期将来会完成的操作. Promise的几种状态: pending:初 ...