亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

javascript實現下班倒計時效果的方法(可桌面通知)

2019-11-20 12:03:52
字體:
來源:轉載
供稿:網友

本文實例講述了javascript實現下班倒計時效果的方法。分享給大家供大家參考。具體如下:

周末了,搞個下班倒計時,娛樂下。

確保下面三點:

1、非IE瀏覽器,較高Chrome版本,已開啟HTML5桌面通知。具體設置見下面截圖
2、將這個HTML放到本地Web服務器上測試,直接雙擊運行無法彈出桌面通知

順帶提下,這個程序很容易擴展成定時通知。

做這個東西的過程有兩點比較糾結,總結下:

1、parseInt("09")返回的是0。正確做法是parseInt("09", 10),顯式指定基數為十進制
2、false與"false",這個也有點小糾結,開始我這樣
$("#minute").attr("readonly", "false");
但達不到效果,因為實際上readonly屬性只有兩個值true或false,所以如果我設置它的值為"false",那么相當于設置(非空字符串轉成布爾類型為true):
$("#minute").attr("readonly", true);

更新:

修復了一些小Bug,體會到這句話”看起來很簡單的東西也不是那么容易“。

運行效果如下圖所示:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>  <meta name="author" content="By jxqlovejava" />  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  <title>下班倒計時</title>  <style type="text/css">    body {      color:#333;      font-family:meiryo, Arial, Helvetica, sans-serif;      font-size:12px;      height:100%;      margin:0 auto;      padding:0;      width:100%;    }    html,body,div,dl,dt,dd,ul,ol,li,th,td {      margin:0;      padding:0;    }    body {      background-color: #ccc;    }    #counterContainer {      width:270px;      height:150px;      position:absolute;      left:50%;      top:50%;      margin:-75px 0 0 -135px;      border: 1px solid #ccc;      background-color: #fff;    }    #timeContainer, #toolBarContainer, #msgContainer {      text-align: center;    }    #timeContainer {      margin-top: 38px;    }    #toolBarContainer {      margin-top: 15px;    }    .timeBox {      width: 30px;    }    #minute, #second {      text-align: center;    }    .highLight {      font-weight: bold;      color: green;    }    .bt {      width: 84px;    }    #msg {      visibility:hidden;      padding-top: 10px;    }  </style></head><body>  <div id="counterContainer">    <div id="timeContainer">      還有      <input type="text" id="minute" class="timeBox" value="00">分       <input type="text" id="second" class="timeBox" value="00">秒       <span class="highLight">下班!</span>    </div>    <div id="toolBarContainer">      <input type="button" id="setOrResetBt" class="bt" value="設定" />      <input type="button" id="startBt" class="bt" value="開始倒計時!" />    </div>    <div id="msgContainer">      <span id="msg" class="highLight">可以下班了,哦耶~~</span>    </div>  </div>  <script type="text/javascript" src="jquery-1.7.1.min.js"></script>  <script type="text/javascript">    var minuteLeft;   // 剩下的分    var secondLeft;   // 剩下的秒    var totalSeconds;  // 剩下的總秒數    var myInterval;   // 倒計時用的time interval    var isCounting = false; // 是否正在倒計時    var hasSetted = false; // 是否已設定完畢    var charLimit = 2; // 分和秒都只能為2位    // 桌面通知    function sendDesktopNotification(title, msg) {      if(!window.webkitNotifications || (window.webkitNotifications.checkPermission()!=0)) { // 不支持桌面通知或未授權        alert("不好意思,你的瀏覽器不支持桌面通知或者你未開啟!");        return; // 不支持桌面通知      }      var notificationMsgBox = window.webkitNotifications.createNotification(icon="images/favicon.ico", title, msg);      notificationMsgBox.show();    }    $(function() {      // 將兩位字符串轉成00-59格式      function convertToStandardFormat(timeInput) {        var val = $(timeInput).val();        if(val.length == 0) {          return;        }        else if(val.length == 1) {          if(isNaN(val)) {            $(timeInput).val('0');          }        }        else if(val.length == 2 || val.length == 3) {          var intVal = parseInt(val, 10);          if(isNaN(intVal) || intVal <= 0) {            $(timeInput).val('00');          }          else {            var firstDigit = parseInt(val[0]);            if(firstDigit > 5) {              firstDigit = 0;            }            $(timeInput).val(firstDigit+val[1]);          }        }      }      // 限制分輸入框和秒輸入框都只能輸入兩個字符且范圍為00-59      $("#minute").keyup(function(e) {        if(e.keyCode == 37 || e.keyCode == 39) // 方向鍵          return;        convertToStandardFormat($(this));      });      $("#second").keyup(function(e) {        if(e.keyCode == 37 || e.keyCode == 39) // 方向鍵          return;        convertToStandardFormat($(this));      });      $("#setOrResetBt").click(function() {        if($(this).val() === "設定") {          if(parseInt($("#minute").val(), 10) == 0 && parseInt($("#second").val(), 10) == 0) {            alert("請設定分、秒為0到59范圍內的數字!");            return;          }          hasSetted = true;          // 設置分輸入框和秒輸入框不可編輯          $("#minute").attr("readonly", true);          $("#second").attr("readonly", true);          minuteLeft = parseInt($("#minute").val(), 10);          secondLeft = parseInt($("#second").val(), 10);          totalSeconds = minuteLeft*60 + secondLeft;          // 按鈕文字切換          $(this).val("重置");        }        else { // 點擊了重置按鈕          clearInterval(myInterval);          isCounting = false;          hasSetted = false;          $("#msg").css("visibility", "hidden");          // 設置分輸入框和秒輸入框可編輯          $("#minute").attr("readonly", false);          $("#second").attr("readonly", false);          $("#minute").val("00");          $("#second").val("00");          // 按鈕文字切換          $(this).val("設定");        }      });       $("#startBt").click(function() {        if(!hasSetted) {          alert("請先設定時間!")          return;        }        if(!isCounting) {          myInterval = setInterval(function() {            totalSeconds--;            if(secondLeft == 0 && minuteLeft > 0) {              minuteLeft--;              secondLeft = 59;            }            else {              secondLeft--;            }            // 更新分秒顯示            $("#minute").val(minuteLeft > 9 ? minuteLeft : ('0'+minuteLeft));            $("#second").val(secondLeft > 9 ? secondLeft : ('0'+secondLeft));            if(totalSeconds==0) {  // 下班時間到了              clearInterval(myInterval);              $("#msg").css("visibility", "visible");              sendDesktopNotification("下班了", "親,下班了!/nHappy Weekend!");            }          }, 1000); // 每一秒鐘更新一下時間        }        isCounting = true;      });    });  </script></body></html>

希望本文所述對大家的javascript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产综合视频在线观看| 亚洲精品免费av| 色妞在线综合亚洲欧美| 97成人精品区在线播放| 国产偷亚洲偷欧美偷精品| 久久亚洲春色中文字幕| 日本a级片电影一区二区| 日韩欧美成人网| 久久久999国产精品| 日韩成人中文字幕在线观看| 欧洲精品久久久| 欧美风情在线观看| 国产精品久久久久免费a∨大胸| 亚洲国产精品高清久久久| 91精品国产高清久久久久久91| 亚洲激情在线观看| 国外成人性视频| 亚洲电影免费观看高清完整版在线观看| 欧美制服第一页| 美女扒开尿口让男人操亚洲视频网站| 国产福利成人在线| 国产精品视频yy9099| 国产日韩在线视频| 国模gogo一区二区大胆私拍| 亚洲人成绝费网站色www| 国产成人涩涩涩视频在线观看| 91九色在线视频| 日韩美女写真福利在线观看| 8090理伦午夜在线电影| 麻豆精品精华液| 久久久免费精品视频| 2019中文字幕全在线观看| 精品国产一区二区三区久久狼5月| 92看片淫黄大片欧美看国产片| 久久久久久久久国产精品| 成人网页在线免费观看| 国产精品一区二区在线| 国产精品亚洲欧美导航| 欧美午夜精品久久久久久浪潮| 亚洲天堂av综合网| 日韩av成人在线观看| 欧美日韩国产在线看| 欧美中在线观看| 2019国产精品自在线拍国产不卡| 国产精品久久久久久久久久东京| 日韩视频在线免费观看| 国产精品亚洲精品| 亚洲精品在线看| 精品久久久av| 亚洲自拍偷拍色片视频| 全色精品综合影院| 亚洲аv电影天堂网| 成人免费网视频| 亚洲国产一区二区三区在线观看| 国产精品va在线| 国产日韩在线观看av| 欧美黑人巨大精品一区二区| 国产视频在线一区二区| 成人激情视频在线| 亚洲xxxx视频| 97久久精品人人澡人人爽缅北| 成人国产在线激情| 国产大片精品免费永久看nba| 国内精品国产三级国产在线专| 欧美激情一区二区三区在线视频观看| 欧美成人免费视频| 中文字幕日韩在线观看| 日韩中文字幕视频在线观看| 国产精品视频成人| 成人黄色午夜影院| 欧美激情一级二级| 欧美在线视频免费观看| www亚洲欧美| 亚洲天堂第二页| 在线播放日韩专区| 亚洲国产精品人人爽夜夜爽| 日韩最新在线视频| 欧美成人精品在线播放| 国内精品视频在线| 国产成人精品a视频一区www| 北条麻妃在线一区二区| 色婷婷综合成人| 国产精品精品久久久久久| 成人做爽爽免费视频| 久久久久久亚洲精品不卡| 欧美另类第一页| 日韩高清av一区二区三区| 欧美成人性生活| 亚洲人成电影网站色xx| 狠狠久久五月精品中文字幕| 高跟丝袜一区二区三区| 久久亚洲精品网站| 欧美日韩在线观看视频| 欧美高清不卡在线| 日韩在线欧美在线| 国产精品视频999| 国产成人涩涩涩视频在线观看| 成人妇女免费播放久久久| 91久久在线观看| 国产精品jizz在线观看麻豆| 亚洲视频axxx| 欧美性受xxx| 最新国产精品亚洲| 欧美一区第一页| 欧美国产日韩二区| 日韩成人在线视频网站| 久久久久久久网站| 岛国av一区二区三区| 国产精品久久综合av爱欲tv| 久久久久免费视频| 欧美日韩美女在线观看| 欧美成人性色生活仑片| 欧美视频二区36p| www国产精品com| 国产一区二区激情| 国产成人精品电影久久久| 亚洲第一精品夜夜躁人人爽| 亚洲国产欧美在线成人app| 国产色视频一区| 欧美xxxx14xxxxx性爽| 日韩精品视频在线播放| 国产欧美va欧美va香蕉在线| 午夜精品在线观看| 成人www视频在线观看| 日韩精品在线免费观看视频| 大荫蒂欧美视频另类xxxx| 欧美精品一区三区| 国产精品福利在线观看| 亚洲国产成人精品一区二区| 日韩一区在线视频| 国语自产精品视频在线看抢先版图片| 色悠悠久久88| 欧美激情2020午夜免费观看| 欧美成人免费大片| 亚洲精品国产suv| 欧美精品日韩www.p站| 国产综合香蕉五月婷在线| 久久久久久中文| 深夜福利91大全| 亚洲香蕉成人av网站在线观看| 91精品国产91久久久久久不卡| 欧美激情一区二区三区高清视频| 国产成人精品一区二区三区| 日韩成人性视频| 97在线视频观看| 国产精品成人久久久久| 欧美成人网在线| 国产成人亚洲综合91精品| 欧美激情一区二区久久久| 国产亚洲精品va在线观看| 欧美激情精品久久久久久蜜臀| 国产精品久久久久久av| 色琪琪综合男人的天堂aⅴ视频| 97色在线观看免费视频| 国产精品自产拍高潮在线观看| 久久久久久尹人网香蕉| 亚洲欧美日韩天堂一区二区| 日韩hd视频在线观看| 久久免费视频在线观看| 国产91在线播放精品91| 国产美女91呻吟求| 成人黄色片在线| 国产97在线视频| 亚洲激情在线观看|