如何解决刷新页面后秒表应该继续?

时间:2016-12-14 20:44:51

标签: javascript jquery timer storage stopwatch

我有一个小时,分钟和秒钟的秒表。我希望秒表在刷新页面后继续计数。

我知道我可以用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>

0 个答案:

没有答案