javascript
JS秒表倒计时器
<html>
<body>
<span>倒計時30分鐘:</span><span id="clock">00:30:00:00</span>
</body>
</heml>
<script type="text/javascript">
//秒表倒計時控制
var normalelapse = 100; ?
var nextelapse = normalelapse;
var counter; ??
var startTime;
var start1 = clock.innerText; ??
var finish = "00:00:00:00"; ?
var timer = null; ?
// 開始運行 ?
function run() { ?
? ? counter = 0; ?
? ? // 初始化開始時間 ?
? ? startTime = new Date().valueOf();?
? ? //alert(startTime);
? ? ?
? ? // nextelapse是定時時間, 初始時為100毫秒 ?
? ? // 注意setInterval函數: 時間逝去nextelapse(毫秒)后, onTimer才開始執行 ?
? ? timer = window.setInterval("onTimer()", nextelapse); ??
} ?
// 停止運行 ?
function stop() { ?
? ? window.clearTimeout(timer); ?
} ?
window.onload = function() { ??
?run();
} ?
// 倒計時函數 ?
function onTimer() ?
{ ?
? ? if (start1 == finish) ?
? ? { ?
? ? ? ? window.clearInterval(timer); ??
? ? ? ? return; ?
? ? } ?
? ? var hms = new String(start1).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; ?
? ? start1 = sh + ":" + sm + ":" + ss + ":" + ms; ?
? ? clock.innerText = start1; ?
? ? // 清除上一次的定時器 ?
? ? 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>
轉載于:https://blog.51cto.com/9070303/1540504
總結
- 上一篇: SqL中对指定列去重
- 下一篇: lenovo L480 进入bios_N