JS常用倒计时代码实例总结


Posted in Javascript onFebruary 07, 2017

本文实例总结了JS常用倒计时代码。分享给大家供大家参考,具体如下:

第一种:精确到秒的javascript倒计时代码

<form name="form1">
<div align="center" align="center">
<center>离2010年还有:<br>
<input type="textarea" name="left" size="35" style="text-align: center">
</center>
</div>
</form>
<script LANGUAGE="javascript">
startclock()
var timerID = null;
var timerRunning = false;
function showtime() {
Today = new Date();
var NowHour = Today.getHours();
var NowMinute = Today.getMinutes();
var NowMonth = Today.getMonth();
var NowDate = Today.getDate();
var NowYear = Today.getYear();
var NowSecond = Today.getSeconds();
if (NowYear <2000)
NowYear=1900+NowYear;
Today = null;
Hourleft = 23 - NowHour
Minuteleft = 59 - NowMinute
Secondleft = 59 - NowSecond
Yearleft = 2009 - NowYear
Monthleft = 12 - NowMonth - 1
Dateleft = 31 - NowDate
if (Secondleft<0)
{
Secondleft=60+Secondleft;
Minuteleft=Minuteleft-1;
}
if (Minuteleft<0)
{
Minuteleft=60+Minuteleft;
Hourleft=Hourleft-1;
}
if (Hourleft<0)
{
Hourleft=24+Hourleft;
Dateleft=Dateleft-1;
}
if (Dateleft<0)
{
Dateleft=31+Dateleft;
Monthleft=Monthleft-1;
}
if (Monthleft<0)
{
Monthleft=12+Monthleft;
Yearleft=Yearleft-1;
}
Temp=Yearleft+'年, '+Monthleft+'月, '+Dateleft+'天, '+Hourleft+'小时, '+Minuteleft+'分, '+Secondleft+'秒'
document.form1.left.value=Temp;
timerID = setTimeout("showtime()",1000);
timerRunning = true;
}
var timerID = null;
var timerRunning = false;
function stopclock () {
if(timerRunning)
clearTimeout(timerID);
timerRunning = false;
}
function startclock () {
stopclock();
showtime();
}
// -->
</script>

第二种:某某运动会

<!--倒计时Javascript begin-->
<script language="JavaScript">
<!--
function DigitalTime1()
{
var deadline= new Date("08/13/2007") //开幕倒计时
var symbol="8月13日"
var now = new Date()
var diff = -480 - now.getTimezoneOffset() //是北京时间和当地时间的时间差
var leave = (deadline.getTime() - now.getTime()) + diff*60000
var day = Math.floor(leave / (1000 * 60 * 60 * 24))
var hour = Math.floor(leave / (1000*3600)) - (day * 24)
var minute = Math.floor(leave / (1000*60)) - (day * 24 *60) - (hour * 60)
var second = Math.floor(leave / (1000)) - (day * 24 *60*60) - (hour * 60 * 60) - (minute*60)
var deadline_2= new Date("08/13/2004") //开幕后计时
var symbol_2="8月13日"
var now_2 = new Date()
var diff_2 = -480 - now.getTimezoneOffset() //是北京时间和当地时间的时间差
var leave_2 = (now_2.getTime() - deadline_2.getTime()) + diff_2*60000
var day_2 = Math.floor(leave_2 / (1000 * 60 * 60 * 24))
var hour_2 = Math.floor(leave_2 / (1000*3600)) - (day_2 * 24)
var minute_2 = Math.floor(leave_2 / (1000*60)) - (day_2 * 24 *60) - (hour_2 * 60)
var second_2 = Math.floor(leave_2 / (1000)) - (day_2 * 24 *60*60) - (hour_2 * 60 * 60) - (minute_2*60)
day=day+1;
day_2=day_2+1;
if (day>0) //还未开幕
{
//LiveClock1.innerHTML = "现在"+symbol+"天"
LiveClock1.innerHTML = "<font
setTimeout("DigitalTime1()",1000)
}
if (day<0) //已经开幕
{
//LiveClock1.innerHTML = "现在离"+symbol+"还有"+day+"天"+hour+"小时"+minute+"分"+second +"秒"
LiveClock1.innerHTML = "<font
setTimeout("DigitalTime1()",1000)
}
if (day==0) //正在开幕
{
//LiveClock1.innerHTML = "现在"+symbol+"天"
LiveClock1.innerHTML = "<font
setTimeout("DigitalTime1()",1000)
}
if (day<0 & day_2>19) //某某运动会结束
{
//LiveClock1.innerHTML = "现在离"+symbol+"还有"+day+"天"+hour+"小时"+minute+"分"+second +"秒"
LiveClock1.innerHTML = "<font
setTimeout("DigitalTime1()",1000)
}
}
// -->
</script>
<!--倒计时Javascript end-->
<body onload=DigitalTime1()>
<div id= LiveClock1></div>
</body>

第三种:小时倒计时

<SCRIPT LANGUAGE="JavaScript">
<!--
var maxtime = 60*60 //一个小时,按秒计算,自己调整!
function CountDown(){
if(maxtime>=0){
minutes = Math.floor(maxtime/60);
seconds = Math.floor(maxtime%60);
msg = "距离结束还有"+minutes+"分"+seconds+"秒";
document.all["timer"].innerHTML=msg;
if(maxtime == 5*60) alert('注意,还有5分钟!');
--maxtime;
}
else{
clearInterval(timer);
alert("时间到,结束!");
}
}
timer = setInterval("CountDown()",1000);
//-->
</SCRIPT>
<div id="timer" style="color:red"></div>

第四种:最简倒计时

<Script Language="JavaScript">
<!-- Begin
var timedate= new Date("January 14,2006");
var times="研究生考试";
var now = new Date();
var date = timedate.getTime() - now.getTime();
var time = Math.floor(date / (1000 * 60 * 60 * 24));
if (time >= 0) ;
document.write("<li><font color=#DEDBDE>现在离2006年"+times+"还有: <font color=#ffffff><b>"+time +"</b></font> 天</font></li>");
// End -->
</Script>

第五种:最简倒计时二

<script language="JavaScript" type="text/javascript">
function djs(){
var urodz= new Date("11/12/2008");
var now = new Date();
var num
var ile = urodz.getTime() - now.getTime();
var dni = Math.floor(ile / (1000 * 60 * 60 * 24));
if (dni >1)
num=dni+1
else if (dni == 1)num=2
else if (dni == 0)num=1
else num=0
document.write(num)
}
</script>
距某某开幕式还有 [<script language="JavaScript" type="text/javascript">djs()</script>] 天

第五个:Javascript倒计时器 - 采用系统时间自校验

这次利用系统时间自校验倒计时, 无需手工调校使得倒计时更为精确, 代码及详细注释如下:

<span id="clock">00:01:11:00</span>
<input id="startB" type="button" value="start countdown!" onclick="run()">
<input id="endB" type="button" value="stop countdown!" onclick="stop()">
<br>
<input id="diff" type="text">
<input id="next" type="text">
<script language="Javascript">
var normalelapse = 100;
var nextelapse = normalelapse;
var counter;
var startTime;
var start = clock.innerText;
var finish = "00:00:00:00";
var timer = null;
// 开始运行
function run() {
startB.disabled = true;
endB.disabled = false;
counter = 0;
// 初始化开始时间
startTime = new Date().valueOf();
// nextelapse是定时时间, 初始时为100毫秒
// 注意setInterval函数: 时间逝去nextelapse(毫秒)后, onTimer才开始执行
timer = window.setInterval("onTimer()", nextelapse);
}
// 停止运行
function stop() {
startB.disabled = false;
endB.disabled = true;
window.clearTimeout(timer);
}
window.onload = function() {
endB.disabled = true;
}
// 倒计时函数
function onTimer()
{
if (start == finish)
{
window.clearInterval(timer);
alert("time is up!");
return;
}
var hms = new String(start).split(":");
var ms = new Number(hms[3]);
var s = new Number(hms[2]);
var m = new Number(hms[1]);
var h = new Number(hms[0]);
ms -= 10;
if (ms < 0)
{
ms = 90;
s -= 1;
if (s < 0)
{
  s = 59;
  m -= 1;
}
if (m < 0)
{
  m = 59;
  h -= 1;
}
}
var ms = ms < 10 ? ("0" + ms) : ms;
var ss = s < 10 ? ("0" + s) : s;
var sm = m < 10 ? ("0" + m) : m;
var sh = h < 10 ? ("0" + h) : h;
start = sh + ":" + sm + ":" + ss + ":" + ms;
clock.innerText = start;
// 清除上一次的定时器
window.clearInterval(timer);
// 自校验系统时间得到时间差, 并由此得到下次所启动的新定时器的时间nextelapse
counter++;
var counterSecs = counter * 100;
var elapseSecs = new Date().valueOf() - startTime;
var diffSecs = counterSecs - elapseSecs;
nextelapse = normalelapse + diffSecs;
diff.value = counterSecs + "-" + elapseSecs + "=" + diffSecs;
next.value = "nextelapse = " + nextelapse;
if (nextelapse < 0) nextelapse = 0;
// 启动新的定时器
timer = window.setInterval("onTimer()", nextelapse);
}
</script>
Javascript 相关文章推荐
JQuery实现倒计时按钮的实现代码
Mar 23 Javascript
使用jQuery和PHP实现类似360功能开关效果
Feb 12 Javascript
jquery文本框中的事件应用以输入邮箱为例
May 06 Javascript
jquery+javascript编写国籍控件
Feb 12 Javascript
jquery实现简易的移动端验证表单
Nov 08 Javascript
JS定时器实现数值从0到10来回变化
Dec 09 Javascript
浅谈JavaScript作用域和闭包
Sep 18 Javascript
浅谈webpack下的AOP式无侵入注入
Nov 12 Javascript
解决vue 项目引入字体图标报错、不显示等问题
Sep 01 Javascript
基于Express框架使用POST传递Form数据
Aug 10 Javascript
使用Bootstrap做一个朝代历史表
Dec 10 Javascript
JS实现网页时钟特效
Mar 25 Javascript
JS实现的DIV块来回滚动效果示例
Feb 07 #Javascript
javascript验证香港身份证的格式或真实性
Feb 07 #Javascript
JS实现JSON.stringify的实例代码讲解
Feb 07 #Javascript
jQuery简单获取DIV和A标签元素位置的方法
Feb 07 #Javascript
JS日程管理插件FullCalendar简单实例
Feb 07 #Javascript
纯js三维数组实现三级联动效果
Feb 07 #Javascript
在点击div中的p时,如何阻止事件冒泡
Feb 07 #Javascript
You might like
Zend的MVC机制使用分析(二)
2013/05/02 PHP
php curl模拟post请求小实例
2013/11/13 PHP
php出现内存位置访问无效错误问题解决方法
2014/08/16 PHP
PHP 数组遍历foreach语法结构及实例
2016/06/13 PHP
PHP读取大文件的几种方法介绍
2016/10/27 PHP
几行代码轻松搞定jquery实现flash8类似的连接效果
2007/05/03 Javascript
document.getElementById为空或不是对象的解决方法
2010/01/24 Javascript
jquery插件开发方法(初学者)
2012/02/03 Javascript
JQuery 给元素绑定click事件多次执行的解决方法
2014/09/09 Javascript
jQuery中[attribute*=value]选择器用法实例
2014/12/31 Javascript
深入讲解AngularJS中的自定义指令的使用
2015/06/18 Javascript
深入探究使JavaScript动画流畅的一些方法
2015/06/30 Javascript
高性能JavaScript循环语句和条件语句
2016/01/20 Javascript
jQuery实现动态添加tr到table的方法
2016/12/26 Javascript
Angular实现跨域(搜索框的下拉列表)
2017/02/16 Javascript
如何写好你的JavaScript【推荐】
2017/03/02 Javascript
Vue.js实战之组件的进阶
2017/04/04 Javascript
JScript实现表格的简单操作
2017/08/15 Javascript
详解Vue-cli代理解决跨域问题
2017/09/27 Javascript
chosen实现省市区三级联动
2018/08/16 Javascript
jQuery使用each遍历循环的方法
2018/09/19 jQuery
使用jQuery动态设置单选框的选中效果
2018/12/06 jQuery
Python 随机生成中文验证码的实例代码
2013/03/20 Python
python中的json总结
2018/10/11 Python
Python操作json的方法实例分析
2018/12/06 Python
jupyter notebook的安装与使用详解
2020/05/18 Python
Python Selenium模块安装使用教程详解
2020/07/09 Python
Python字典取键、值对的方法步骤
2020/09/30 Python
Python绘制K线图之可视化神器pyecharts的使用
2021/03/02 Python
中国宠物用品商城:E宠商城
2016/08/27 全球购物
澳大利亚领先的在线葡萄酒零售商:Get Wines Direct
2018/03/27 全球购物
What's the difference between deep copy and shallow copy? (深拷贝与浅拷贝有什么区别)
2015/11/10 面试题
请说出这段代码执行后a和b的值分别是多少
2015/03/28 面试题
黄石寨导游词
2015/02/05 职场文书
《梅花魂》教学反思
2016/02/18 职场文书
Python中for后接else的语法使用
2021/05/18 Python