首頁  >  文章  >  web前端  >  jquery實作一個全域計時器實例分享

jquery實作一個全域計時器實例分享

小云云
小云云原創
2018-01-06 09:37:391477瀏覽

本文主要介紹了jquery實作一個全域計時器,商城一類都可以使用,希望能幫助大家。

本文實例為大家分享了商城一類都可以使用的jquery全域計時器,供大家參考,具體內容如下

實現想法

#遍歷所有待計時元素,新增一個setInterval計時函數,每隔X秒執行更新計時操作(中間可能還有格式化時間操作)。

程式碼實作

ps:JQ元素透過arr[i]取值時會轉換成DOM元素,dom元素和JQ之間轉換用$(arr[i])

取得所有待計時元素

var arrList =$(".stime");
setInterval(function(){
 //遍历数组
 for(var i = 0,l = arrList.length; i<l ;i++ ){
  var elem = arrList[i];
  //格式化时间插入HTML文档
  $(elem).html(DateDiff( new Date(), new Date($(elem).attr("time") ), elem ));
 }
},1000);

計算時間函數,可倒數正

ps:如果是Java後台傳過來的時間,注意下時間格式,這裡已經做了處理(是個坑點);

/*DateDiff 处理*/
function DateDiff(t1, t2, elem){
 //GTM CST 时间相差14小时 
 var diff = t1.setHours(t1.getHours()+14) - Date.parse(t2);
 //超过一天显示warning色
 if(diff>(1000*60*60*24)){
  $(elem).css({color:"rgb(247, 186, 42)"});
 }
 return ShowTime(diff);
}

顯示處理函數,可自行選擇精確度

#不需要,註解掉即可

/*fuc 计时显示处理*/
function ShowTime(ms){
 var obj = {
  "天" : 1000*60*60*24,
  "时" : 1000*60*60,
  "分" : 1000*60
  /*
  "秒" : 1000
  */
 };
 var tmp = ms;
 var str = "";
 for( var i in obj ){
  //向下取整 1.5天 => 1天
  s = Math.floor( tmp / obj[i] );
  tmp = tmp % obj[i];
  str += s+i;
 }
 return str;
}

相關推薦:

jQuery計時器功能與倒數計時功能的實作

JavaScript分秒倒數計時器實作方法

javascript計時器的實作

以上是jquery實作一個全域計時器實例分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn