2012-03-02 67 views
0

使用jQuery和localStorage,我想跟蹤玩家贏得遊戲的次數。每次提交表格時,勝出或失敗次數都取決於誰勝出。計數器工作正常,但由於某種原因,清除計數的功能不起作用。我一直在使用與其他變量removeItem()相同的功能,它一直工作正常。在localStorage中使用.removeItem

var nicwincount; 
var niclosscount; 


$('#dostuff').click(function(e) { 

     e.preventDefault(); 
     if (playerName === 'nic' && tempresult === win) { 
      nicwincount = JSON.parse(localStorage.getItem (nicwincount)); 
      nicwincount += 1; 
      localStorage.setItem(nicwincount, JSON.stringify(nicwincount)); 
      console.log(localStorage.getItem(nicwincount)); 
      console.log(nicwincount); 
      } 
      else if (playerName === 'nic' && tempresult === loss) { 
      losscount = JSON.parse(localStorage.getItem(niclosscount)); 
      losscount += 1; 
      localStorage.setItem (niclosscount, losscount); 
      console.log(localStorage.getItem(niclosscount)); 
      } 
} 

我一直在使用.setItem()設置計數爲0。我一直在使用.removeItem也嘗試嘗試。無法讓他們中的任何一個爲我工作,也無法弄清楚原因。

$('#clear').click(function(e){ 
     e.preventDefault(); 
    localStorage.setItem('nicwincount', 0); 
      localStorage.setItem('niclosscount', 0); 

    } 

謝謝!

UPDATE:

此代碼使用本地存儲

var nicScoreList = JSON.parse(localStorage.getItem('nicscorelist') || '[]'); 
    var niccount = 0; 
    var nicTotalScore = nicScoreList.reduce(function(total, score) { 
     if (score === " " || total === " ") { 
      niccount++; 
     } 
     return +total + +score; 
    }); 

我從localStorage的獲得該項目是一個單獨的頁面上的定義爲:

scorelist = JSON.parse(localStorage.getItem(playerName + 'scorelist') || '[]'); 
     scorelist.push(" "); 
     localStorage.setItem(playerName + 'scorelist', JSON.stringify(scorelist)); 
     $('div.scorecolumn', column).html("Score: <br>" + scorelist.join('<br>')); 

我知道我跳過了一堆的代碼似乎,所以讓我知道如果沒有意義。

此代碼的工作,但原來的例子仍然是不nicwincount和niclosscount

回答

2

您正在使用變量來存儲您的項目和字符串來清除它們。

裸詞(即變量)這裏:

localStorage.setItem(nicwincount, JSON.stringify(nicwincount)); 

和字符串這裏:

localStorage.setItem('nicwincount', 0); 
+0

IM白癡。謝謝 – 2012-03-02 00:27:39

+0

沒問題。有時很容易忽略這些明顯的東西,特別是在你自己的代碼中。 – 2012-03-02 00:29:03

+0

任何想法爲什麼當我使用console.log(localStorage.getItem('nicwincount'));在另一個頁面,它只是一直給我0?我有一種感覺即時通訊混合了一些字符串/變量相關但不確定 – 2012-03-02 00:43:39