2016-05-29 8 views
1

私はアイテムを収集する必要があるテキストベースのjavascriptとhtmlゲームを作成しています。ユーザーが移動できるゲーム内の各場所のHTMLページがあり、場所間で自由に移動できます。関数内のjs更新配列

私はインベントリの空の配列を作成し、ユーザがその場所のアイテムをすでにピックアップしているかどうかを判断する関数を作成しました。

function fieldItems() { 
if (inventory.indexOf("paper") === -1 && inventory.indexOf("string") === -1) { 
    var fieldItems= prompt("There is string and paper \n Do you: \n A -pick up the paper \n B -take the string \n C -take both \n D -leave both").toUpperCase(); 
} else if (inventory.indexOf("string") === -1){ 
    var fieldItems= prompt("There is string. \n Do you: \n B -take the string \n D -leave it").toUpperCase(); 
} else if (inventory.indexOf("paper") === -1) { 
    var fieldItems= prompt("There is paper\n Do you: \n A -pick up the paper \n D -leave it").toUpperCase(); 
} else { 
    confirm("The field is empty."); 
}; 
if (fieldItems === "A") { 
    inventory.push("paper"); 
    confirm("You pick up the piece of paper."); 
} else if (fieldItems === "B") { 
    inventory.push("string"); 
    confirm("You take the string."); 
} else if (fieldItems === "C") { 
    inventory.push("paper"); 
    confirm("You pick up the piece of paper."); 
    inventory.push("string"); 
    confirm("You take the string."); 
} else { 
    confirm("You do not pick anything up.") 
}; 

ただし、ページを離れて元の場所に戻ると、在庫にプッシュされたアイテムは記憶されません。

ページ間の更新された広告枠を覚えておくことができますか?

ありがとうございます。

+2

[のlocalStorage](https://developer.mozilla.org/en-US/docs/ Web/API/Window/localStorage) –

+0

javascriptの変数値は、定義されているページで動作します。 –

答えて

0

実際には、HTMLページを残すと、すべてのjavascript変数が削除されます。これを回避するには、AJAX(jQueryを使用)を使用するのが最適です。

あなたのページがあり、各リンク上、代わりの

<a href="mypage.html"> Link </a> 

使用

<a onclick="$('#main').load('mypage.html');" href="#"> Link </a> 

その後、varsは(アレイを含む)すべてのあなたのjavascriptが保存されます。

(もちろん、あなたがいない場合、それは動作しません、<div id="main"></div>間のすべてのコードを配置する必要があります!P

関連する問題