[英]update/add localStorage with variable
我試圖將用戶的點擊保存在localStorage中,然后當用戶返回並單擊時,localStorage將添加新的點擊。
這就是我所擁有的:
var storedClicks = localStorage.getItem("clicks");
function count_clicks()
{
var count = parseInt(document.cnt_click.cnt_clicks.value);
count++;
document.cnt_click.cnt_clicks.value = count;
localStorage.setItem("clicks", storedClicks + count);
if(count == 10) {
alert(document.cnt_click.cnt_clicks.value);
}
$('#printHere').html(storedClicks);
}
但這只是在最后加上數字,所以可以說這是用戶的點擊歷史記錄:
訪問1:2次點擊訪問2:6次點擊訪問3:3次點擊
這樣,輸出將是263次點擊,而不是11次點擊。 我需要更改/執行的操作,由於某種原因,它不會顯示點擊。
提前致謝!
更換
var storedClicks = localStorage.getItem("clicks");
localStorage.setItem("clicks", storedClicks + count);
同
var storedClicks = parseInt(localStorage.getItem("clicks"));
var newCount = storedClicks + count;
localStorage.setItem("clicks", newCount);
您正在將int附加到字符串。 希望這可以幫助。
var storedClicks = parseInt(localStorage.getItem("clicks"));
您將字符串添加到整數:
“ 12” + 3 =“ 123” //字符串
如前所述,您將字符串連接起來而不是添加數字。 這是JavaScript新手經常犯的錯誤。
另請參見Javascript(+)符號串聯在一起,而不是給出變量總和以供進一步閱讀。
請看我的例子:
storedClicks++; // this will cast the string to a number
我希望這可以使它更加清楚。
<input type="button" onclick="count_clicks()" />
<div id="sc"></div>
<script>
function count_clicks()
{
var storedClicks = (localStorage.getItem("clicks") == "undefined" || localStorage.getItem("clicks") == null) ? 0 : parseInt(localStorage.getItem("clicks"));
localStorage.setItem("clicks", storedClicks + 1);
$('#sc').html(parseInt(localStorage.getItem("clicks")));
}
</script>
以上是經過測試的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.