2017-04-25 63 views
-2

我已經問過這個問題,並得到了一些很好的建議,但我想我只是讓自己迷路了。過去兩天我一直在做JQuery,所以有點新鮮感。我正在做一個簡單的遊戲,並希望在頁面加載之間計算得分,但無論我做什麼似乎都沒有工作。完全喪失在localStorage

var score; 
var points = parseInt(localStorage.getItem(score),10)||0; 
if (score == null || score == "null"){ 
    score = 0; 
}else{ 
    score = parseInt(localStorage.getItem(score),10)||0; 
} 

console.log(score); 
//alert(score); 
var ans; 
var img; 
img = document.getElementsByClassName("image")[0].id; 
$(".answer").click(function() { 
ans = $(this).attr('id'); 
if (ans === img){ 
    score++; 
    localStorage.setItem("score", score); 
    //alert('right answer'); 
    location.reload(); 
}else{ 
    //alert('wrong answer'); 
    //location.reload(); 
} 
//localStorage.setItem("points", score); 
}); 

Fiddle for whole program

再次我已經吃過這方面的一些建議,但我不知道我得到它。任何幫助都會很棒。

+1

*「似乎並不奏效」 *什麼是預期的結果,什麼是你所得到的結果呢?請解釋我們如何複製這個問題。雖然*「完全丟失localStorage」*告訴我們你有一個'localStorage'的問題,它並沒有告訴我們你的問題到底是什麼。 –

+0

不確定這是否是您的問題,但是您在兩個不同的範圍內聲明兩次「分數」。除了@RJM註釋'var points = parseInt(localStorage.getItem(score),10 ||')之外,還要在'if'語句之上聲明一次,然後在'if/else' – RJM

+0

的兩個分支中設置它的值。 0);'最後有一個圓括號不應該在那裏,'var points = parseInt(localStorage.getItem(score),10)|| 0;' – darham

回答

0

我看着你的jsFiddle,你試圖得到一個你從未設置過的號碼! 使用localstorage.setItem(更多信息here),然後再使用localstorage.getItem

還引用了https://stackoverflow.com/a/2010948/3049893

+0

它應該是'localStorage.setItem'和'localStorage.getItem' – bntzio