javascript实现倒计时(精确到秒)

 更新时间:2015年06月26日 09:47:32   投稿:hebedich  
本文给大家分享的是个人项目中使用的javascript实现的精确到秒级的倒计时代码,十分的实用,有需要的小伙伴可以参考下。

代码相当简单实用,这里就不多废话了,小伙伴们简单看下就能明白

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div id="demo01" class="colockbox">剩余
<i class="day">0</i>天
<i class="hour">0</i>时
<i class="minute">0</i>分
<i class="second">0</i>秒
<input id="end_time_gou" type="hidden" value="2015/08/20 13:00:00">
<input id="now_gou" type="hidden" value="2015/06/25 11:44:08">
</div>

<div id="timer" class="colockbox">
</div>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.0.min.js"></script>
<script>
var time_end = $('#end_time_gou').val();
var time_now_server = $('#now_gou').val();
countDown(time_end,time_now_server,"#demo01 .day","#demo01 .hour","#demo01 .minute","#demo01 .second");
function countDown(endtime,now,day_elem,hour_elem,minute_elem,second_elem){
var end_time = new Date(endtime).getTime(),//月份是实际月份-1
current_time = new Date(now).getTime(),
sys_second = (end_time-current_time)/1000;
var timer = setInterval(function(){
if (sys_second > 0) {
sys_second -= 1;
var day = Math.floor((sys_second / 3600) / 24);
var hour = Math.floor((sys_second / 3600) % 24);
var minute = Math.floor((sys_second / 60) % 60);
var second = Math.floor(sys_second % 60);
day_elem && $(day_elem).text(day);//计算天
$(hour_elem).text(hour<10?"0"+hour:hour);//计算小时
$(minute_elem).text(minute<10?"0"+minute:minute);//计算分
$(second_elem).text(second<10?"0"+second:second);// 计算秒
} else {
clearInterval(timer);
}
}, 1000);
}
</script>
<script type="text/javascript">
var time_now_server,time_now_client,time_end,time_server_client,timerID;
time_end=new Date($('#end_time_gou').val());//结束的时间
time_end=time_end.getTime();
time_now_server=new Date($('#now_gou').val());//开始的时间,服务器
time_now_server= time_now_server.getTime();
time_now_client=new Date();
time_now_client=time_now_client.getTime();//本地的时间
time_server_client=time_now_server-time_now_client;
setTimeout("show_time("+time_end+","+time_server_client+","+timerID+")",1000);
function show_time(time_end,time_server_client,timerID){
var timer = document.getElementById('timer');
if(!timer){return;}
timer.innerHTML = timer.innerHTML;
var time_now,time_distance,str_time;
var int_day,int_hour,int_minute,int_second;
var time_now=new Date();
time_now=time_now.getTime()+time_server_client;
time_distance=time_end-time_now;
if(time_distance>0){
int_day=Math.floor(time_distance/86400000)
time_distance-=int_day*86400000;
int_hour=Math.floor(time_distance/3600000)
time_distance-=int_hour*3600000;
int_minute=Math.floor(time_distance/60000)
time_distance-=int_minute*60000;
int_second=Math.floor(time_distance/1000)
if(int_hour<10)
int_hour="0"+int_hour;
if(int_minute<10)
int_minute="0"+int_minute;
if(int_second<10)
int_second="0"+int_second;
str_time=int_day+"天"+int_hour+"小时"+int_minute+"分钟"+int_second+"秒";
timer.innerHTML=str_time;
setTimeout("show_time("+time_end+","+time_server_client+","+timerID+")",1000);
}else{
timer.innerHTML =timer.innerHTML;
clearTimeout(timerID)
}
}

</script>
</body>
</html>

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

  • JavaScript设计模式之代理模式详解

    JavaScript设计模式之代理模式详解

    这篇文章主要为大家详细介绍了JavaScript设计模式之代理模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • JS对img进行操作(换图片/切图/轮换/停止)

    JS对img进行操作(换图片/切图/轮换/停止)

    JS对img进行操作包括:换图片/切图/轮换/停止轮换等等,在本文将逐一实现,感兴趣的朋友可以参考下哈,希望对你学习js知识有所帮助
    2013-04-04
  • 防止动态加载JavaScript引起的内存泄漏问题

    防止动态加载JavaScript引起的内存泄漏问题

    利用Script标签可以跨域加载并运行一段JavaScript脚本, 但Neil Fraser先前已指出,脚本运行后资源并没被释放,即使是Script标签移除后。
    2009-10-10
  • JavaScript中的null和undefined用法解析

    JavaScript中的null和undefined用法解析

    这篇文章主要介绍了JavaScript中的null和undefined用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • gulp-htmlmin压缩html的gulp插件实例代码

    gulp-htmlmin压缩html的gulp插件实例代码

    这篇文章主要介绍了gulp-htmlmin压缩html的gulp插件实例代码的相关资料,需要的朋友可以参考下
    2016-06-06
  • JS解析XML的实现代码

    JS解析XML的实现代码

    用javascript实现XML的解析的实现代码,需要的朋友可以参考下。
    2009-11-11
  • JavaScript中Set基本使用方法实例

    JavaScript中Set基本使用方法实例

    因为Set中存放的数据都是不会重复的数据,我们在编写JS代码的时候,因此我们可以利用Set来帮助我们更便捷地完成许多的事,下面这篇文章主要给大家介绍了关于JavaScript中Set基本使用方法的相关资料,需要的朋友可以参考下
    2022-11-11
  • ES6扩展运算符的使用方法示例

    ES6扩展运算符的使用方法示例

    es6新增加了一个运算符,叫做扩展运算符,这个运算符用在数组前面,会把数组展开变成各个独立的值,这篇文章主要给大家介绍了关于ES6扩展运算符的相关资料,需要的朋友可以参考下
    2021-07-07
  • 小程序自动化测试的示例代码

    小程序自动化测试的示例代码

    这篇文章主要介绍了小程序自动化测试,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • js采用map取到id集合组并且实现点击一行选中一行

    js采用map取到id集合组并且实现点击一行选中一行

    本文为大家介绍下如何使用js采用map取到id集合组,并且点击一行选中一行
    2013-12-12

最新评论