|
javascript倒计时器 - 采用系统时间自校验(2) 码的执行时间以及显示时间所产生的延迟, 这次利用系统时间自校验倒计时, 无需手工调校使得倒计时更为精确, 代码及详细注释如下: <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;
|