簡體   English   中英

用變量更新/添加localStorage

[英]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

http://jsfiddle.net/LdjE6/6/

我希望這可以使它更加清楚。

<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM