欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript實現(xiàn)的一個倒計時的類

 更新時間:2015年03月12日 11:19:57   投稿:junjie  
這篇文章主要介紹了JavaScript實現(xiàn)的一個倒計時的類,本文直接給出demo代碼,需要的朋友可以參考下

近期在做排列五的彩票項目,每一期都有購彩時段,即用戶打開這個排列五的頁面時,會從服務(wù)器傳來一個remaintime(離本次彩期結(jié)束的剩余時間),然后這個時間在客戶端遞減呈現(xiàn)給用戶看,讓用戶獲得本次彩期的剩余時間。

實現(xiàn)原理挺簡單的,在此不在贅述,運行以下代碼查看demo:

<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>index</title>
<style type="text/css">
em{color:#f00;}
</style>
</head>

<body>
<div id="remaintime"></div>
<script type="text/javascript">

var TheTime = function(){
 this.init.apply(this,arguments);
};

TheTime.prototype = {
 init: function(obj){
 var that = this;
 obj = that.buildParam(obj);
 that.callback = obj.callback;
 var container = that.container = document.getElementById(obj.container);
 container.innerHTML = '<em></em>小時<em></em>分鐘<em></em>秒';
 var hourSpace = that.hourSpace = container.getElementsByTagName('em')[0];
 var minuteSpace = that.minuteSpace = container.getElementsByTagName('em')[1];
 var secondSpace = that.secondSpace = container.getElementsByTagName('em')[2];
 if(obj.remaintime==0){
  that.resetTime();
  return;
 }

 that.hours = Math.floor(obj.remaintime/3600);
 that._remainder1 = obj.remaintime % 3600;
 that.minutes = Math.floor(that._remainder1/60);
 that.seconds = that._remainder1 % 60;
 var timer = that.timer = setInterval(function(){
  that.renderTime.apply(that);
 },1000);
 },
 buildParam: function(obj){
 obj = {
  //container為dom節(jié)點的id
  container: obj.container || 'container',
  remaintime: Number(obj.remaintime) || 0,
  //倒計時完成后的回調(diào)
  callback: obj.callback || new Function
 };
 return obj;
 },
 resetTime: function(){
 var that = this;
 that.container.innerHTML = "已經(jīng)截止";
 },
 //刷新時間
 renderTime: function(){
 //debugger;
 var that = this;
 if(that.seconds>0){
  that.seconds--;
 }else{
  that.seconds = 59;
  if(that.minutes>0){
  that.minutes--;
  }else{
  that.minutes = 59;
  if(that.hours>0){
   that.hours--;
  }
  }
 }
 
 //時刻監(jiān)聽
 if(that.hours==0 && that.minutes==0 && that.seconds==0){
  //執(zhí)行回調(diào)
  that._callback();
 }
 var bitHandle = that.bitHandle;

 var _hour = bitHandle(that.hours);
 var _minute = bitHandle(that.minutes);
 var _second = bitHandle(that.seconds);
 that.hourSpace.innerHTML = _hour;
 that.minuteSpace.innerHTML = _minute;
 that.secondSpace.innerHTML = _second;
 },
 //對于位數(shù)的處理,確保返回兩位數(shù)
 bitHandle: function(num){
 var str = num.toString();
 if(str.length<2){
  str = 0 + str;
 }
 return str;
 },
 _callback: function(){
 var that = this;
 clearInterval(that.timer);
 that.callback();
 }

};

new TheTime({
 //容器id
 container: 'remaintime',
 //服務(wù)器返回的剩余時間,單位為秒
 remaintime: 10000,
 //倒計時完成時的回調(diào)
 callback: function(){
 document.getElementById('remaintime').innerHTML = '已截止';
 }
});
</script>
</body>
</html>

相關(guān)文章

  • js實現(xiàn)樓層效果的簡單實例

    js實現(xiàn)樓層效果的簡單實例

    下面小編就為大家?guī)硪黄猨s實現(xiàn)樓層效果的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • 通過實例了解Render Props回調(diào)地獄解決方案

    通過實例了解Render Props回調(diào)地獄解決方案

    這篇文章主要介紹了通過實例了解Render Props回調(diào)地獄解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • js 操作符實例代碼

    js 操作符實例代碼

    一個單例對象,承載大多數(shù)常用的函數(shù)列表
    2009-10-10
  • js+jquery常用知識點匯總

    js+jquery常用知識點匯總

    本文主要介紹了jquery源碼中常見的知識點以及javascript中原型鏈常見的知識點,非常的全面,這里推薦給小伙伴們。
    2015-03-03
  • JavaScript實現(xiàn)PC端四格密碼輸入框功能

    JavaScript實現(xiàn)PC端四格密碼輸入框功能

    這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)PC端四格密碼輸入框功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • js停止輸出代碼

    js停止輸出代碼

    方便我們控制js的停止往下執(zhí)行
    2008-07-07
  • 在JavaScript中正確引用bind方法的應(yīng)用

    在JavaScript中正確引用bind方法的應(yīng)用

    本文的重點在于討論bind()方法的實現(xiàn),在開始討論bind()的實現(xiàn)之前,我們先來看看bind()方法的使用,有需要的小伙伴可以參考下。
    2015-05-05
  • JavaScript實現(xiàn)動態(tài)網(wǎng)頁時鐘

    JavaScript實現(xiàn)動態(tài)網(wǎng)頁時鐘

    這篇文章主要介紹了JavaScript實現(xiàn)動態(tài)網(wǎng)頁時鐘,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • JS實現(xiàn)消息來時讓網(wǎng)頁標(biāo)題閃動效果的方法

    JS實現(xiàn)消息來時讓網(wǎng)頁標(biāo)題閃動效果的方法

    這篇文章主要介紹了JS實現(xiàn)消息來時讓網(wǎng)頁標(biāo)題閃動效果的方法,實例分析了JavaScript基于時間函數(shù)動態(tài)操作頁面元素的技巧,并附帶了開心網(wǎng)的標(biāo)題閃動解決方案,需要的朋友可以參考下
    2016-04-04
  • uniapp中vuex的應(yīng)用使用步驟

    uniapp中vuex的應(yīng)用使用步驟

    Vuex是一個專為Vue.js應(yīng)用程序開發(fā)的狀態(tài)管理模式,它采用集中式存儲管理應(yīng)用的所有組件的狀態(tài),并以相應(yīng)的規(guī)則保證狀態(tài)以一種可預(yù)測的方式發(fā)生變化,下面這篇文章主要給大家介紹了關(guān)于uniapp中vuex的應(yīng)用使用,需要的朋友可以參考下
    2022-08-08

最新評論