草鞋

          Blog grass shoes
          posts - 1, comments - 4, trackbacks - 0, articles - 27
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          JS倒計時

          Posted on 2007-10-23 09:31 草 鞋 閱讀(237) 評論(0)  編輯  收藏 所屬分類: JavaScript

          <span id="clock">00:01:11:00</span>
          <input id="startB" type="button" value="start countdown!" onclick="run()">
          <input id="endB" type="button" value="stop countdown!" onclick="stop()">
          <br>
          <input id="diff" type="text">
          <input id="next" type="text">
          <script language="Javascript">
          /* This notice must be untouched at all times.
          countdown.js v. 1.0
          The latest version is available at
          http://blog.csdn.net/yjgx007
          Copyright (c) 2004 Xinyi.Chen. All rights reserved.
          Created 7/30/2004 by Xinyi.Chen.
          Web: http://blog.csdn.net/yjgx007
          E-Mail: chenxinyi1978@hotmail.com
          Last modified: 7/30/2004
          This program is free software;
          you can redistribute it and/or modify it under the terms of the
          GNU General Public License as published by the Free Software Foundation;
          See the GNU General Public License
          at http://www.gnu.org/copyleft/gpl.html for more details.
          */
          var normalelapse = 100;
          var nextelapse = normalelapse;
          var counter;
          var startTime;
          var start = clock.innerText;
          var finish = "00:00:00:00";
          var timer = null;
          // 開始運行
          function run() {
          startB.disabled = true;
          endB.disabled = false;
          counter = 0;
          // 初始化開始時間
          startTime = new Date().valueOf();
          // nextelapse是定時時間, 初始時為100毫秒
          // 注意setInterval函數: 時間逝去nextelapse(毫秒)后, onTimer才開始執行
          timer = window.setInterval("onTimer()", nextelapse);
          }
          // 停止運行
          function stop() {
          startB.disabled = false;
          endB.disabled = true;
          window.clearTimeout(timer);
          }
          window.onload = function() {
          endB.disabled = true;
          }
          // 倒計時函數
          function onTimer()
          {
          if (start == finish)
          {
          window.clearInterval(timer);
          alert("time is up!");
          return;
          }
          var hms = new String(start).split(":");
          var ms = new Number(hms[3]);
          var s = new Number(hms[2]);
          var m = new Number(hms[1]);
          var h = new Number(hms[0]);

          ms -= 10;
          if (ms < 0)
          {
          ms = 90;
          s -= 1;
          if (s < 0)
          {
          s = 59;
          m -= 1;
          }

          if (m < 0)
          {
          m = 59;
          h -= 1;
          }
          }
          var ms = ms < 10 ? ("0" + ms) : ms;
          var ss = s < 10 ? ("0" + s) : s;
          var sm = m < 10 ? ("0" + m) : m;
          var sh = h < 10 ? ("0" + h) : h;
          start = sh + ":" + sm + ":" + ss + ":" + ms;
          clock.innerText = start;
          // 清除上一次的定時器
          window.clearInterval(timer);
          // 自校驗系統時間得到時間差, 并由此得到下次所啟動的新定時器的時間nextelapse
          counter++;
          var counterSecs = counter * 100;
          var elapseSecs = new Date().valueOf() - startTime;
          var diffSecs = counterSecs - elapseSecs;
          nextelapse = normalelapse + diffSecs;
          diff.value = counterSecs + "-" + elapseSecs + "=" + diffSecs;
          next.value = "nextelapse = " + nextelapse;
          if (nextelapse < 0) nextelapse = 0;
          // 啟動新的定時器
          timer = window.setInterval("onTimer()", nextelapse);
          }
          </script>

           

          主站蜘蛛池模板: 荆门市| 图们市| 和政县| 许昌县| 枝江市| 外汇| 无棣县| 华阴市| 河西区| 海兴县| 缙云县| 瓦房店市| 桃园县| 察哈| 麟游县| 独山县| 田林县| 清丰县| 铁力市| 静海县| 广水市| 惠州市| 阿荣旗| 商洛市| 崇明县| 丰都县| 灵丘县| 兴山县| 洛南县| 哈尔滨市| 清新县| 麻栗坡县| 大兴区| 上高县| 红安县| 丹巴县| 巫山县| 谢通门县| 咸阳市| 遵义县| 阆中市|