得到時間戳...保存到某個地方,並把它作爲一個變量到下一個頁面
var start=new Date().getTime();
,以獲得時間的推移
var currentMillisecondsPassed=new Date().getTime()-start;
將它轉換爲hh:mm:ss.msec
或什麼..
下一頁只需要start
的值,並且有很多方法可以將它傳遞出去。 php,js,get,post ....和manymany more。
setTimeout()
對定時器也不精確。
這裏是通過與查詢字符串值的例子..
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>timer</title>
<script>
window.onload=function(){
var pt=window.location.search.split('=')[1],
e=document.body.childNodes,
t=e[0],
s=(pt*1||0),
interval,
ms2Time=function(a) {
var ms=parseInt((a%1000)/100),
s=parseInt((a/1000)%60),
m=parseInt((a/(1000*60))%60),
h=parseInt((a/(1000*60*60))%24);
return (h<10?'0'+h:h)+':'+(m<10?'0'+m:m)+':'+(s<10?'0'+s:s)+'.'+ms;
},
Start=function(){
s=new Date().getTime();
interval=window.setInterval(getcurrent,100);
},
Stop=function(){
window.clearInterval(interval);
s=0;
},
getcurrent=function(){
t.textContent=ms2Time(new Date().getTime()-s);
},
changepage=function(){
window.location='?start='+s;
};
e[1].addEventListener('click',Start,false);
e[2].addEventListener('click',Stop,false);
e[3].addEventListener('click',changepage,false);
if(pt&&pt!=0){
interval=window.setInterval(getcurrent,100);
}
}
</script>
</head>
<body><div id="timer"></div><button>start</button><button>stop</button><button>anotherpage</button></body>
</html>
正如我所說的......你可以隨時隨地存儲起始值...因此,如果您有任何偏好...只是告訴我我可以更改你的代碼。
您可以使用[HTML 5 Storage](http://www.w3schools.com/html/html5_webstorage.asp)來存儲計時器開始時的開始時間。然後在頁面加載中查找該值並重新計算打了多少時間 – musefan