国产探花免费观看_亚洲丰满少妇自慰呻吟_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:你自己再寫一個計算天數的變量;

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 潼南县| 宜兰县| 卢氏县| 陆良县| 兴宁市| 阜城县| 宜丰县| 荣昌县| 通江县| 娄烦县| 高邑县| 诸暨市| 公主岭市| 泸州市| 扎鲁特旗| 会东县| 荔浦县| 渭南市| 安吉县| 噶尔县| 桐庐县| 宁乡县| 浦城县| 枝江市| 乐平市| 资中县| 措美县| 花垣县| 佛坪县| 临沂市| 阆中市| 巴南区| 白水县| 玉溪市| 筠连县| 额济纳旗| 双峰县| 唐海县| 卢湾区| 万州区| 万山特区|