亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

JavaScript 計(jì)時(shí)器,倒計(jì)時(shí)

系統(tǒng) 3047 0
先看效果
//列表的的效果
JavaScript 計(jì)時(shí)器,倒計(jì)時(shí)
//單個(gè)效果




    
 var bjtimer={
			sysTime:0,  //服務(wù)器時(shí)間毫秒數(shù)
			timeBodyName:"timecontainer", //顯示時(shí)間的容器
			timeBodyTag:"div",
			showFmt:"dd天HH時(shí)mm分ss秒",
			notstartMsg:"即將開始:",
			startingMsg:"剩余時(shí)間:",
			afterStart:"活動(dòng)進(jìn)行中", //開始后的內(nèi)容
			afterEnd:"活動(dòng)已結(jié)束",  //結(jié)束后是否設(shè)置 提示內(nèi)容
			stimeAttName:"stime",  //自定義屬性
			etimeAttName:"etime",
			onlyFmt:"showFmt",  //單個(gè)元素的格式
			notstartHead:"nsmsg",
			startingHead:"simsg",
			showDay:true,  //是否采用天
			fmt_24:true, //是否采用  24小時(shí)格式
			isUnion:true,  //開始后,時(shí)候進(jìn)去 倒計(jì)時(shí) 剩余時(shí)間 
			timeOutArr:new Array(),  //保存啟動(dòng)了的計(jì)時(shí)器對象,用于清除
			startTimerOut:function(){
				if(bjtimer.sysTime <=0){
					alert("請先設(shè)置bjtimer.sysTimer為服務(wù)器時(shí)間");
					return;
				}else{
					var timeBodyArray =bjtimer.getElesByName(bjtimer.timeBodyTag,bjtimer.timeBodyName);
				    for(var i=0;i<timeBodyArray.length;i++){
				    	clearTimeout(bjtimer.timeOutArr[i]); //清空
				    	var ele=timeBodyArray[i];
				    	//獲取元素的自定義屬性
				    	var stimenode=ele.attributes[bjtimer.stimeAttName];
				    	var etimenode=ele.attributes[bjtimer.etimeAttName];
				    	var fmtnode=ele.attributes[bjtimer.onlyFmt];
				    	var nsnode=ele.attributes[bjtimer.notstartHead];
				    	var sinode=ele.attributes[bjtimer.startingHead];
				    	
				    	var stime=0;
				    	var etime=0;
				    	var onlyfmt=bjtimer.showFmt;
				    	var nsmsg=bjtimer.notstartMsg;
				    	var simsg=bjtimer.startingMsg;
				    	
				    	if(stimenode!=null || !stimenode===undefined){
				    		if(stimenode.nodeValue.indexOf("/")!=-1){
				    			stime=converToDate(stimenode.nodeValue);
				    		}else{
				    			stime=stimenode.nodeValue;
				    		}
				    	}
				    	if(etimenode!=null || !etimenode===undefined){
				    		if(etimenode.nodeValue.indexOf("/")!=-1){
				    			etime=converToDate(etimenode.nodeValue);
				    		}else{
				    			etime=etimenode.nodeValue;
				    		}
				    	}
				    	
				    	if(fmtnode!=null || !fmtnode===undefined){
				    		onlyfmt=fmtnode.nodeValue;
				    	}
				    	if(nsnode!=null || !nsnode===undefined){
				    		nsmsg=nsnode.nodeValue;
				    	}
				    	if(sinode!=null || !sinode===undefined){
				    		simsg=sinode.nodeValue;
				    	}
				    	//啟用計(jì)時(shí)器
				    	bjtimer.timerOutRun(ele,stime,etime,bjtimer.sysTime,i,onlyfmt,nsmsg,simsg);
				    }
				}
			},
			timerOutRun:function(ele,stime,etime,systime,i,showFmt,nsmsg,simsg){
				var remainTime=0;
				var type=1;  //默認(rèn)為為開始
				if(stime > systime){
					type=1; //未開始
					remainTime= stime - systime;
				}else{
					if(bjtimer.isUnion){
						type=0; //將結(jié)束
						remainTime= etime - systime;
					}
				}
				var nD = 0;
				var nH = 0;
				if(bjtimer.showDay){
					nD = parseInt(remainTime/(1000*60*60*24));
					nH = parseInt(remainTime/(1000*60*60)) % 24;   
				}else{
					nH = parseInt(remainTime/(1000*60*60));   
				}
			    var nM = parseInt(remainTime/(1000*60)) % 60;   
			    var nS = parseInt(remainTime/1000) % 60;   
			    if(bjtimer.fmt_24){
			    	nD=nD < 10 ? "0"+nD : nD;
			    	nH=nH < 10 ? "0"+nH : nH;
			    	nM=nM < 10 ? "0"+nM : nM;
			    	nS=nS < 10 ? "0"+nS : nS;
			    }
			    var showCont=showFmt;
				showCont=showCont.replace("dd",nD);
				showCont=showCont.replace("HH",nH);
				showCont=showCont.replace("mm",nM);
				showCont=showCont.replace("ss",nS);
				if(type==1){
					showCont=nsmsg+showCont;
					stime=stime-1000;
				}else{
					showCont=simsg+showCont;
					etime=etime-1000;
				}
				
				if(remainTime<=0){
					clearTimeout(bjtimer.timeOutArr[i]);
					var msg = (type==1) ? bjtimer.afterStart : bjtimer.afterEnd;
					if(msg!=""){
						ele.innerHTML=msg;
					}else{
						ele.innerHTML=showCont;
					}
				}else{
					ele.innerHTML=showCont;
					bjtimer.timeOutArr[i]=setTimeout(function(){bjtimer.timerOutRun(ele,stime,etime,systime,i,showFmt,nsmsg,simsg);},1000); //bjtimer.timerOutRun("+ele+","+stime+","+etime+","+i+")"	
				}
			},
			getElesByName:function(tag, name){
			    var returns = document.getElementsByName(name);
			    if(returns.length > 0) return returns;
			    returns = new Array();
			    var e = document.getElementsByTagName(tag);
			    for(var i = 0; i < e.length; i++){
			        if(e[i].getAttribute("name") == name){
			            returns[returns.length] = e[i];
			        }
			    }
			    return returns;
			},isToday:function(systime,ctime){
				return systime.getFullYear()==ctime.getFullYear() && systime.getMonth()==ctime.getMonth() && systime.getDate()==ctime.getDate();
			},dateDiff:function(stime,etime){//計(jì)算兩個(gè)時(shí)間 相差的天數(shù)
				return (stime-etime)/(1000*3600*24);
			}
			
	}

  



//用法
列表的用法 一般用在div? ul > li 里面?
可支持 不同div ,li 顯示的 倒計(jì)時(shí) 格式不一樣
    

//注意 要顯示 倒計(jì)時(shí)的 標(biāo)簽名字為 timecontainer 然后在這個(gè)表情上自定義屬性 stime etime, showFmt,notstartMsg  等屬性,

<div class="rest_time" name="timecontainer" stime="<fmt:formatDate value="${brandhd.starttime}" pattern="yyyy/MM/dd HH:mm:ss"/>" etime="<fmt:formatDate value="${brandhd.endtime}" pattern="yyyy/MM/dd HH:mm:ss"/>" ></div>

然后在窗體加載事件里面寫
$(functtion(){
bjtimer.sysTime=systimes.getTime();  //系統(tǒng)的 毫秒數(shù)
bjtimer.startTimerOut();
});

  


//例2:
    

<!--計(jì)時(shí)開始-->
  <div class="g_timer_wrap">
     <div class="g_timer" id="g_timer" name="timecontainer" nsmsg="距活動(dòng)開始還有:" simsg="距活動(dòng)結(jié)束還有:" showFmt="[i]dd[/i]天[i]HH[/i]時(shí)[i]mm[/i]分[i]ss[/i]秒" stime="<fmt:formatDate value="${superBrandHd.starttime}" pattern="yyyy/MM/dd HH:mm:ss"/>" etime="<fmt:formatDate value="${superBrandHd.endtime}" pattern="yyyy/MM/dd HH:mm:ss"/>">
     </div>
  </div>

$(function(){
bjtimer.sysTime=converToDate('<%=sysdate%>').getTime(); 
bjtimer.startTimerOut();
}):


  

JavaScript 計(jì)時(shí)器,倒計(jì)時(shí)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 亚洲人成伊人成综合网久久久 | 国产一区二区三区亚洲综合 | 日韩免费观看一级毛片看看 | 亚洲国产精品日韩在线观看 | 国产精品99久久免费观看 | 奇米色7777| 国产偷国产偷亚洲高清在线 | 免费一级毛片麻豆精品 | 亚洲综合一 | 成人在线精品视频 | 国产精品永久免费视频观看 | 久久网页| 91一区 | 国产一区二区高清 | 亚洲一区二区免费视频 | 国产成人精品免费视频大全办公室 | 中文字幕中文字幕中中文 | 亚洲国产精品欧美综合 | 狠狠亚洲婷婷综合色香五 | 亚洲综合色就色手机在线观看 | 污影院 | 老司机午夜剧场 | 黄色录像欧美 | 国产精品人成人免费国产 | 妖精视频在线观看网站 | 国产美女精品在线观看 | 亚洲精品女同中文字幕在线 | 色婷婷狠狠久久综合五月 | 亚洲欧美小视频 | 久久草在线免费 | 欧美成人精品高清在线观看 | 国产精品99久久久久久夜夜嗨 | 国产一区二区在线观看免费 | 亚洲国产高清视频在线观看 | 免费一级特黄视频 | www.亚洲天堂 | 午夜影院毛片 | 神马影院午夜我不卡 | 久久大香香蕉国产免费网vrr | 日产国语一区二区三区在线看 | 老扒夜夜春宵粗大好爽aa毛片 |