2016-05-20 12 views
0

localStorageオブジェクトを使用してJavaScriptを使用してアプリケーションを作成したので、次に情報を保存できるようにしました。私はあなたがサイトにどれくらいの期間滞在していたか、何らかの時計を目指していました。どのようにlocalStorage.setItem("example", "variable")を使うことができたので、私はそれを時計のカウンターとして使うことができましたか?これは私のテストコードの1つです:localStorageオブジェクトを変数として設定する方法

<!DOCTYPE html> 
<html> 
<title>Tracking Time</title> 
<style> 
#time { 
    font-size: 250% 
} 
</style> 
<center> 
<body> 
<h1><font face="fantasy">The Time You Have Had This Tab Open</font></h1> 
<br /> 
<br /> 
<br /> 
<br /> 
<br /> 
<br /> 
<br /> 
<br /> 
<br /> 
<br /> 
<h1 id="time"><font face="impact" size="10">00:00:00:00:00:00</font></h1> 
<script src="https://code.jquery.com/jquery-2.1.0.js"></script> 
<script> 

// Update Count 

setInterval(function() { 
localStorage.setItem("sec", 0); 

}, 1000) 

// 


// Update Text 

setInterval(function(){ 
$("#time").text(+ " year(s) " + + " month(s) " + + " day(s) " + + " hour(s) " + + " minute(s) " + localStorage.getItem("sec") + " second(s)") 
}, 1) 
</script> 

</body> 
</center> 
</html> 

申し訳ありませんが、私はこのために助けが必要です。どのように私は変数として使用することができますか?例を挙げてください。ありがとう!

+0

あなたは変数を使用することができます... – Rayon

+0

あなたはhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects([ 'Date']上に読んでください/ Date)オブジェクトです。具体的には、 'Date.now()'を使って現在の時刻を取得し、そこにいた時間の参照点として使用することができます。 –

+0

ええ、私はちょうど例としてこれを使用したいと思います。申し訳ありませんが、私は別のより良い例を考え出すことはできませんでしたが、変数を使用すると、次にファイルを開くときにリセットされます。 – Cool123

答えて

0

これを行う1つの方法は、ローカルストレージに何らかの「時間」プロパティが存在しない場合は、それを設定することです。

ループ中に、ローカルストレージに保存されている時間を増やすことができます。

var intervalTime = 1000; 
setInterval(function() { 
    // localStorage saves as strings so lets make it an integer 
    var totalTime = parseInt(localStorage.getItem('time')); 
    localStorage.setItem('time', totalTime + intervalTime); 
}, intervalTime); 

これにより、ユーザーがサイトに費やした合計ミリ秒数が保存されます。これらのミリ秒を使用して、サイトに滞在した時間を表示することができます。

var totalMilliseconds = parseInt(localStorage.getItem('time')); 
var totalTime = new Date(totalMilliseconds); 
var hours = totalTime.getHours(); 
var minutes = totalTime.getMinutes(); 
var seconds = totalTime.getSeconds(); 
+1

ああ、ok ... if文を設定しました。ありがとうマイク! – Cool123

関連する問題