`
MVC2008MVC
  • 浏览: 7066 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

JS 倒计时代码

阅读更多

 
使用示例:
      var tim = new TimeLeft();
	 tim.setServerDate("2011-03-2 8:34:45");   //设置当前时间
	 tim.setEndDate("2011-03-2 8:55:45");      //设置结束日期
	 tim.setDivId("LiveClock1");
	 tim.clockStart();


/*** 时间倒计时函数 **/
 function TimeLeft(){
   this.nDate = null;
   this.eDate = null;
   this.divId = null;
   this.DifferHour = -1;
   this.DifferMinute = -1;
   this.DifferSecond = -1;

   this.sec_0 = 0; //要加的秒数
   this.min_0 = 0; //分钟
   this.hor_0 = 0; //小时
   this.day_0 = 0;  //天
   this.moth_0 =0;  //月
   this.yea_0 = 0; //年

	this.sec = 0; //要加的秒数
	this.min = 0; //分钟
	this.hor = 0; //小时
	this.day = 0;  //天
	this.moth =0;  //月
	this.yea = 0; //年
	
	//--------剩余时间参数----------
	this.leftDay = 0; 
	this.leftHour=0;
	this.leftMin=0;
	this.leftSec=0;
	//-----------定时器使用----------
   this.sid="TimeLeft_ASBKC";
   eval(this.sid+"=this");
   this.divStr='0';
}
TimeLeft.prototype.setServerDate=function(serverDate){ //设置当前时间 格式:  2011-03-2 12:34:45

	 var dts = serverDate.split(" ");
	 var time1 = dts[0].split("-");
	 var time2= dts[1].split(":");

    this.sec = parseInt(time2[2]); //要加的秒数
	this.min = parseInt(time2[1]); //分钟
	this.hor = parseInt(time2[0]); //小时
	
	this.day = parseInt(time1[2]);  //天
	this.moth =parseInt(time1[1]);  //月
	this.yea = parseInt(time1[0]); //年
}

TimeLeft.prototype.setEndDate=function(endDate){   //设置服务器时间 格式:  2011-07-2 12:34:45
   var dts   = endDate.split(" ");
   var time1 = dts[0].split("-");
   var time2 = dts[1].split(":");
    
   this.sec_0 =  parseInt(time2[2]); //要加的秒数
   this.min_0  = parseInt(time2[1]); //分钟
   this.hor_0  = parseInt(time2[0]); //小时
   this.day_0  = parseInt(time1[2]);  //天
   this.moth_0 = parseInt(time1[1]);  //月
   this.yea_0  = parseInt(time1[0]);  //年
   
   	this.Tday1 = new Date(this.yea_0,this.moth_0,this.day_0,this.hor_0,this.min_0,this.sec_0);   //**倒计时时间-注意格式

   
	this.daysms = 24 * 60 * 60 * 1000;
	this.hoursms = 60 * 60 * 1000;
	this.Secondms = 60 * 1000;
	this.microsecond = 1000;
}
//设置当前时间 年月日时分秒格式
TimeLeft.prototype.setServerDateFormat=function(year,month,day,hour,min,sec){
  	this.sec = sec; //要加的秒数
	this.min = min; //分钟
	this.hor = hour; //小时
	this.day = day;  //天
	this.moth =month;  //月
	this.yea = year; //年
}
//设置到期时间 年月日时分秒格式
TimeLeft.prototype.setEndDateFormat=function(year,month,day,hour,min,sec){
   this.sec_0 = sec; //要加的秒数
   this.min_0 = min; //分钟
   this.hor_0 = hour; //小时
   this.day_0 = day;  //天
   this.moth_0 =month;  //月
   this.yea_0 = year; //年
   
   	this.Tday1 = new Date(this.yea_0,this.moth_0,this.day_0,this.hor_0,this.min_0,this.sec_0);   //**倒计时时间-注意格式
	this.daysms = 24 * 60 * 60 * 1000;
	this.hoursms = 60 * 60 * 1000;
	this.Secondms = 60 * 1000;
	this.microsecond = 1000;
}

TimeLeft.prototype.setDivId=function(v){  //设置要显示的Div
     this.divId=v;
 }
 
 TimeLeft.prototype.getDay=function(){  //剩余天数
   return this.leftDay;
 }
 
 TimeLeft.prototype.getHour=function(){ //剩余小时
   return this.leftHour;
 }
 
TimeLeft.prototype.getMin=function(){ //剩余分钟
   return this.leftMin;
}
 
TimeLeft.prototype.getSec=function(){   //剩余秒数
   return this.leftSec;
}
 
TimeLeft.prototype.showTimes=function(){ //显示到页面
    var timeStr ="<span style='color:#FF0000'>"+ this.getDay()+"天"+this.getHour()+"小时"+this.getMin()+"分"+this.getSec()+"秒"+"</span>";
    if(this.divStr=='0'){
        var mystr = document.getElementById(this.divId).innerText;
        this.divStr = mystr;
       }
    document.getElementById(this.divId).innerHTML=this.divStr + timeStr;
 }
 
TimeLeft.prototype.clockStart=function(){ //时间开始
      this.sec = this.sec + 1;
	if(this.sec>=60){
	   this.sec = 0;
	   this.min = this.min +1;
	}
	if(this.min>=60){
	  this.min = 0;
	  this.hor = this.hor+1;
	}
	if(this.hor>=23){
	  this.hor = 1;
	  this.day = this.day+1;
	}
	
	//-----如果比较和时间当前时间相同则停止
    var time = new Date(this.yea,this.moth,this.day,this.hor,this.min,this.sec);
    var hour = time.getHours();
    var minute = time.getMinutes();
    var second = time.getSeconds();
    
    var timevalue = ""+((hour > 12)?hour-12:hour);
    timevalue +=((minute < 10) ? ":0":":")+minute;
    timevalue +=((second < 10) ? ":0":":")+second;
    timevalue +=((hour >12 ) ? " PM":" AM");
    
    var convertHour = this.DifferHour;
    var convertMinute = this.DifferMinute;
    var convertSecond = this.DifferSecond;
    
    var Diffms = this.Tday1.getTime() - time.getTime();
    this.DifferHour = Math.floor(Diffms / this.daysms);
      Diffms -= this.DifferHour * this.daysms;
    this.DifferMinute = Math.floor(Diffms / this.hoursms);
      Diffms -= this.DifferMinute * this.hoursms;
    this.DifferSecond = Math.floor(Diffms / this.Secondms);
      Diffms -= this.DifferSecond * this.Secondms;
    var dSecs = Math.floor(Diffms / this.microsecond); 
    //设置当前剩余的时间数
    if(this.DifferHour<0){ //没有剩余时间
	    this.leftDay = 0;
	}else{
	    this.leftDay  = this.DifferHour;
		this.leftHour = this.DifferMinute;
		this.leftMin  = this.DifferSecond;
		this.leftSec  = dSecs;
		
	}
	 this.showTimes(); //调用更新页面方法
    setTimeout(this.sid+".clockStart();",1000);
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics