2017-04-25 5 views
-2

私はすでに以前これについて尋ねてきましたが、良いアドバイスがありましたが、私は自分自身を失ってしまったと思います。私は過去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

これがあなたの問題であるかどうかは分かりませんが、2つの異なるスコープで 'score'を2回宣言しています。 'if'文の上に一度宣言し、@RJMのコメントに加えて、' if/else'の2つの枝にその値を設定してください。 – RJM

+0

'var points = parseInt(localStorage.getItem(score)、10 || 0); '末尾に括弧があってはいけません。' var points = parseInt(localStorage.getItem(score)、10)|| 0; ' – darham

答えて

0

あなたのjsFiddleを見て、決して設定しない番号を取得しようとしています! localstorage.getItemを使用する前に、localstorage.setItem(詳細はhere)を使用してください。

https://stackoverflow.com/a/2010948/3049893

+0

'localStorage.setItem'と' localStorage.getItem' – bntzio

関連する問題