2016-03-29 6 views
0

私は、ローカルストレージを使用して変数を格納する基本的なブラウザゲームエンジンに取り組んでいます。 1つのHTMLページでローカルストレージ経由で値を確認する

、私が持っている:

localStorage.setItem("money", 49); 

その後、別のページに、私は値に1を追加できるようにしたいです。 JavaScriptのファイルに

onClick="varPlus1('money')" 

と、この:これを行うには、私はHTMLページで、次のコード持って

function varPlus1(name) 

{ 

    var val=localStorage.getItem(name); 

    val += 1; 

    localStorage.setItem(name, val); 

} 

を私はこれを50に変数「お金」の値を増加するであろう期待していましたしかし、それを変更するようではありません。私は間違って何をしていますか? string+= 1など

+0

int型に変換valを、その後、 '+' を新しい値でSetItem関数を呼び出します。コード:localStorage.setItem( 'money'、parseInt(localStorage.getItem( 'money'))+ 1) –

+0

または単に 'var val = + localStorage.getItem(name);' – Rayon

+0

@RayonDabre方法は良いです:) –

答えて

2

のlocalStorage値を格納しadd操作を行うよりも文字列を連結します。

+(単項プラス)stringこのお試しください

Numberにキャストします:次のコードをテストし、働いを使用

localStorage.setItem("money", 49); 
 

 
function varPlus1(name) { 
 
    var val = +localStorage.getItem(name); 
 
    val += 1; 
 
    localStorage.setItem(name, val); 
 
} 
 
varPlus1('money')

0

を: -

HTML
<button id="btnSave">sadsadsad</button> 

jQueryの

$(document).ready(function() { 
localStorage.setItem("money", 49); 

    $("#btnSave").click(
      function() { 
       varPlus1('money'); 
      }    
     ); 
}); 
function varPlus1(name) 
{ 
    var val=localStorage.getItem(name); 

    val =parseInt(val)+ 1; 

    localStorage.setItem(name, val); 
alert (localStorage.getItem(name)); 
} 
関連する問題