国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

實例講解多個js毫秒倒計時同時進行效果

2019-11-20 10:51:49
字體:
來源:轉載
供稿:網友

本文實例講解js毫秒倒計時同時進行效果的代碼,分享給大家供大家參考,具體內容如下

效果圖:

實現功能:調用一個函數,傳入html元素的id,和一個截止時間(unix時間戳),在該html元素中打印出到當前到截止時間為止的倒計時,精確到毫秒;

效果圖如下:

<!DOCTYPE html><html>  <head>    <meta charset="UTF-8">    <meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">    <title></title>    <style>      div{        width: 100%;        height: 50px;        margin-bottom: 5px;        background: yellowgreen;      }    </style>  </head>  <body>        <h2>毫秒的倒計時</h2>    <div id="timer1"></div>    <div id="timer2"></div>    <div id="timer3"></div>    <div id="timer4"></div>    <script>      var addTimer = function(){        var list = [],          interval;                  return function(id,timeStamp){          if(!interval){            interval = setInterval(go,1);          }          list.push({ele:document.getElementById(id),time:timeStamp});        }                function go() {           for (var i = 0; i < list.length; i++) {             list[i].ele.innerHTML = changeTimeStamp(list[i].time);             if (!list[i].time)               list.splice(i--, 1);           }         }        //傳入unix時間戳,得到倒計時        function changeTimeStamp(timeStamp){          var distancetime = new Date(timeStamp*1000).getTime() - new Date().getTime();          if(distancetime > 0){               //如果大于0.說明尚未到達截止時間                   var ms = Math.floor(distancetime%1000);            var sec = Math.floor(distancetime/1000%60);            var min = Math.floor(distancetime/1000/60%60);            var hour =Math.floor(distancetime/1000/60/60%24);                        if(ms<100){              ms = "0"+ ms;            }            if(sec<10){              sec = "0"+ sec;            }            if(min<10){              min = "0"+ min;            }            if(hour<10){              hour = "0"+ hour;            }                        return hour + ":" +min + ":" +sec + ":" +ms;          }else{              //若否,就是已經到截止時間了            return "已截止!"          }          }              }();            addTimer("timer1",1451923200);//1月5日00點,unix時間戳自己去百度一下,就有的      addTimer("timer2",1451926800);//1月5日01點      addTimer("timer3",1451930400);//1月5日02點      addTimer("timer4",1452020400);//1月6日03點    </script>      </body></html>

如何使用這個函數?

addTimer("#id",時間戳int); 

PS:

其實這個函數有一個小小的問題:就是并不會顯示截止天數;因為老板表示我們的倒計時時間最多也就幾個小時,所以在判斷倒計時的小時和天數上,我也就懶得寫那么多了。所以如果傳入的時間戳距今超過了1天。那么你會看到如此結果:02:11:32:874~~只剩2個小時了!明顯不對是不是?

so,有2個方案這里:

方法1:把var hour =Math.floor(distancetime/1000/60/60%24);改成var hour =Math.floor(distancetime/1000/60/60);

    如果截止時間距今超出一天了,小時位置會顯示大于24的數字;比如:36:45:22:888

方法2:你自己再寫一個計算天數的變量;

以上就是本文的全部內容,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 疏附县| 金坛市| 龙南县| 卫辉市| 杨浦区| 横山县| 甘谷县| 吴江市| 会同县| 合山市| 永德县| 特克斯县| 宁都县| 霸州市| 辽中县| 阿尔山市| 尚义县| 察隅县| 巨野县| 乌苏市| 章丘市| 灵武市| 古交市| 泰和县| 婺源县| 廉江市| 杭锦后旗| 闻喜县| 四川省| 两当县| 博乐市| 阳春市| 布拖县| 清远市| 新巴尔虎右旗| 龙陵县| 丹东市| 怀集县| 南郑县| 黔西| 太谷县|