dede时间倒计时javascript

由于本人除中文外各种语言都不会,所以本文是在园内园外搜索多个实例,自己综合后得到自己想要的在DEDE列表页实现多个块的时间倒计时,倒计时归0时显示活动结束.

 

<!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=gb2312" />
<title>倒计时</title>

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
$(function(){
updateEndTime();
});
//倒计时函数
function updateEndTime()
{
 var date = new Date();
 var time = date.getTime();  //当前时间的毫秒数
 
 $(".settime").each(function(i){
 
 var endDate =this.getAttribute("endTime"); //结束时间字符串
 //转换为时间日期类型
 var endDate1 = eval('new Date(' + endDate.replace(/\d+(?=-[^-]+$)/, function (a) { return parseInt(a, 10) - 1; }).match(/\d+/g) + ')');

 var endTime = endDate1.getTime(); //结束时间毫秒数
 
 var lag = (endTime - time) / 1000; //当前时间和结束时间之间的秒数
  if(lag > 0)
  {
   var second = Math.floor(lag % 60);    
   var minite = Math.floor((lag / 60) % 60);
   var hour = Math.floor((lag / 3600) % 24);
   var day = Math.floor((lag / 3600) / 24);
   $(this).html(day+""+hour+"小时"+minite+""+second+"");
  }
  else
   $(this).html("团购已经结束啦!");
 });
 setTimeout("updateEndTime()",1000);
}
</script>
</head>

<body>
//dede列表页例一
{dede:list pagesize='5' orderby='click'}<li>
                <dl class="fr">
                <dt>[field:title/]</dt>
                <dd>[field:kaishishijian function="GetDateTimeMK(@me)"/] -- [field:jiesushijian function="GetDateTimeMK(@me)"/]</dd>
                <dd>离活动结束:<strong><span id="settime" endTime="[field:jiesu function="GetDateTimeMK(@me)"/]"></span></strong>
</dd></dl></li>{/dede:list}

//例二,可以本地测试效果
<div class="settime" endTime="2024-12-31 23:54:1"></div>

<div class="settime" endTime="2015-12-31 23:33:1"></div>

</body>
</html>

 

 

 

 

 

 

posted @ 2013-12-31 23:40  织梦先生  阅读(213)  评论(0)    收藏  举报