实现倒计时功能
2007-11-30 18:06
176 查看
在csdn的论坛上逛的时候,看到有人问这个问题,就写了写.感觉可以拿出来,就在这里做个文章吧.算是个笔记.
<html>
<head>
</head>
<body>
结束时间<input type="text" id="endtime"></input>
相隔时间<input type="text" id="time" name="time"></input>
</body>
</html>
<script type="text/javascript" >
var databasetime = new Date(2007,11,25,18,43,56);//为从数据库中提取出来的值
document.getElementById("endtime").value=dealdate(databasetime);
getdealtime();
function getdealtime(){
var now = new Date() ;
var str1 = dealdate(databasetime);
var str2 = dealdate(now);
str1 = str1.replace(/-/g,"/");
str2 = str2.replace(/-/g,"/");
var date1 = Date.parse(str1);
var date2 = Date.parse(str2);
var tmp = date1 - date2 ;
var day = parseInt(Math.floor(tmp/(24*60*60*1000)));
if(day > 0) tmp = tmp - day*24*60*60*1000 ;
var hour = parseInt(Math.floor(tmp/(60*60*1000)));
if(hour > 0) tmp = tmp - hour*60*60*1000 ;
var minute = parseInt(Math.floor(tmp/(60*1000)));
if(minute >0) tmp = tmp - minute*60*1000;
var seconds = parseInt(Math.floor(tmp/1000));
document.getElementById("time").value = day+"天"+hour+"小时"+minute+"分钟"+seconds+"秒" ;
setTimeout("getdealtime()",1000);
}
function dealdate(date){
if(date == null){
return "" ;
}
var datestr = date.getMonth()+"/"+date.getDate()+"/"+date.getFullYear();
var hour = date.getHours().toString();
var minute = date.getMinutes().toString();
var second = date.getSeconds().toString();
if(hour.length < 2) hour = "0"+hour ;
if(minute.toString().length < 2) minute = "0"+minute ;
if(second.toString().length < 2) second = "0"+second ;
datestr +=" "+hour+":"+minute+":"+second ;
return datestr ;
}
</script>
其中, databasetime是数据库中取出的时间.然后对其进行倒计时.但是也还是存在问题的.
比如:数据库中的时间为服务器时间,而我本地的为客户端时间.所以还是存在一定问题的.可以用ajax技术,在后台进行时间的计算,用java代码去写会更容易些,然后回传到jsp中.比较懒,java的代码就不写了,肯定是要比javascript简单些的.(2007.11.30 18:11:21 anyoneking)
<html>
<head>
</head>
<body>
结束时间<input type="text" id="endtime"></input>
相隔时间<input type="text" id="time" name="time"></input>
</body>
</html>
<script type="text/javascript" >
var databasetime = new Date(2007,11,25,18,43,56);//为从数据库中提取出来的值
document.getElementById("endtime").value=dealdate(databasetime);
getdealtime();
function getdealtime(){
var now = new Date() ;
var str1 = dealdate(databasetime);
var str2 = dealdate(now);
str1 = str1.replace(/-/g,"/");
str2 = str2.replace(/-/g,"/");
var date1 = Date.parse(str1);
var date2 = Date.parse(str2);
var tmp = date1 - date2 ;
var day = parseInt(Math.floor(tmp/(24*60*60*1000)));
if(day > 0) tmp = tmp - day*24*60*60*1000 ;
var hour = parseInt(Math.floor(tmp/(60*60*1000)));
if(hour > 0) tmp = tmp - hour*60*60*1000 ;
var minute = parseInt(Math.floor(tmp/(60*1000)));
if(minute >0) tmp = tmp - minute*60*1000;
var seconds = parseInt(Math.floor(tmp/1000));
document.getElementById("time").value = day+"天"+hour+"小时"+minute+"分钟"+seconds+"秒" ;
setTimeout("getdealtime()",1000);
}
function dealdate(date){
if(date == null){
return "" ;
}
var datestr = date.getMonth()+"/"+date.getDate()+"/"+date.getFullYear();
var hour = date.getHours().toString();
var minute = date.getMinutes().toString();
var second = date.getSeconds().toString();
if(hour.length < 2) hour = "0"+hour ;
if(minute.toString().length < 2) minute = "0"+minute ;
if(second.toString().length < 2) second = "0"+second ;
datestr +=" "+hour+":"+minute+":"+second ;
return datestr ;
}
</script>
其中, databasetime是数据库中取出的时间.然后对其进行倒计时.但是也还是存在问题的.
比如:数据库中的时间为服务器时间,而我本地的为客户端时间.所以还是存在一定问题的.可以用ajax技术,在后台进行时间的计算,用java代码去写会更容易些,然后回传到jsp中.比较懒,java的代码就不写了,肯定是要比javascript简单些的.(2007.11.30 18:11:21 anyoneking)
相关文章推荐
- NSTimer+倒计时功能实现
- 使用Ajax的Time实现倒计时功能
- 自定义Button之实现点击按钮实现倒计时功能
- C#学习总结(5)——倒计时功能实现
- android 倒计时、有清除功能编辑框、popupwindow、跑马灯效果实现(基于TextView)
- android倒计时功能的实现(CountDownTimer)
- android倒计时功能的实现(CountDownTimer)
- Android倒计时功能实现
- 实现倒计时功能js
- Android利用CountDownTimer类实现倒计时功能
- jQuery 实现倒计时天,时,分,秒功能
- 简单实现vue验证码60秒倒计时功能
- GCD 开启一个定时器实现倒计时功能
- 天天爱消除倒计时功能的实现思路
- handler实现倒计时功能
- js实现发送短信验证码后的倒计时功能(无视页面刷新)
- ASP.NET实现无刷新倒计时功能,团购倒计时
- 原生JS实现简单的倒计时功能示例
- Android基于CountDownTimer实现倒计时功能
- android倒计时功能的实现(CountDownTimer)