我有一个小时,分钟和秒钟的秒表。我希望秒表在刷新页面后继续计数。
我知道我可以用WebStorage解决问题,但我是JavaScript的初学者,我不确定如何实现它。我试过了,但它不起作用。
希望有人可以帮助我。 Thaaanks!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
</head>
<body onload="init();" onunload="StopClock();">
<div class="anzeige" id="Anzeige">00:00:00</div>
<div class="controls">
<div style="float:right; padding-right:20px;"><a href="stop_watch_gb.html"><img src="grafik/britflag.gif" alt="English version" width="24" height="16" /></a></div>
<form action="">
<div>
<input class="button" name="start" type="button" id="start" value="Start" onclick="StartClock();" />
<input class="button" name="stop" type="button" id="stop" value="Stop" onclick="StopClock();" />
<input class="button" name="reset" type="button" id="reset" value="Reset" onclick="ResetClock();"/>
</div>
</form>
</div>
</body>
<script>
var _currentSeconds=0;
var _FontSize=10;
var _AnzElm=0;
var _timerID=0;
var _starttime=0;
var _pausetime=0;
window.onload = init;
function init() {
_AnzElm = document.getElementById("Anzeige");
}
function ResetText() {
SetCountdownText(0);
}
function StartClock() {
if (_timerID == 0) {
ResetText();
_timerID = window.setInterval("Tick()", 1000);
_starttime = parseInt(new Date().getTime()/1000);
}
}
function ResetClock() {
ResetText();
StopClock();
_currentSeconds=0;
_starttime=0;
_pausetime=0;
}
function StopClock() {
if (_timerID > 0) {
window.clearInterval(_timerID);
_timerID = 0;
_pausetime = parseInt(new Date().getTime()/1000);
}
}
function Tick() {
var currTime = parseInt(new Date().getTime()/1000);
if (_currentSeconds >= 36000) { //100h max
StopClock();
return;
}
SetCountdownText(_currentSeconds - _starttime + currTime);
}
function SetCountdownText(seconds) {
var deltaseconds = seconds;
if (seconds < 0)
{
deltaseconds = 0;
}
var minutes=parseInt(deltaseconds/60);7
seconds = parseInt (deltaseconds % 60);
var hours=parseInt(minutes / 60);
minutes = parseInt(minutes % 60);
var strText = AddNull(hours) + ":" + AddNull(minutes) + ":" + AddNull(seconds);
_AnzElm.innerHTML = strText;
}
function AddNull(num) {
return ((num >= 0)&&(num < 10))?"0"+num:num+"";
}
function MM_goToURL() {
var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
</script>
</head>