2015-01-12 52 views
0

我想在javascript和html中做一件事情,我遇到了問題。更新代碼時保留var

我有一個選擇頁面,我可以點擊8個不同的按鈕,我想要一個var採取這個按鈕的id。這個按鈕把我扔到另一個頁面上,這個頁面必須使用這個var。

問題是,當代碼在第二頁中再次調用(要返回var在我的主要功能,否則它不工作),這段代碼更新,我的var顯然重置爲0;

我想保留這個var的值,當我在我的其他頁面再次調用它。

謝謝!這樣做的localStorage或餅乾旁邊的

levelSelected = 0; 

// Récupère le click 
for (var i = 0; i < 8; i++) { 
    $('#level' + i).click(function() { 
     levelSelected = this.id; 
     console.log(levelSelected); 
     location.href='level.html'; 
    }); 
} 
+2

使用[localStorage的](http://stackoverflow.com/questions/2010892/storing-objects-in-html5-localstorage)或[餅乾](http://stackoverflow.com/search?q= cookie),或將該信息作爲[查詢字符串](http://stackoverflow.com/search?q=query+string)傳遞。 – Terry

+1

或者利用SPA設計 – devqon

+0

根據用例,有時sessionStorage可能更有意義(它的工作方式與localStorage幾乎相同,但存儲在內存中,並在瀏覽器關閉時消失) – Katana314

回答

2

一種方法是將它傳遞一個URL,即使用參數:

levelSelected = 0; 

// Récupère le click 
for (var i = 0; i < 8; i++) { 
    $('#level' + i).click(function() { 
     levelSelected = this.id; 
     console.log(levelSelected); 
     location.href='level.html?levelSelected=' + levelSelected; 
    }); 
} 

看一看How to retrieve GET parameters from javascript?就看你怎麼可以在以後檢索中的參數下一頁。

還有How can I get query string values in JavaScript?正如Terry在您的回答中的評論中所建議的那樣。

編輯

萬一你不熟悉GET屬性 - 您有任何數量的人,只是第一個必須由?前面,而所有其他的人必須先由&

所以:

location.href='level.html?levelSelected=' + levelSelected + '&otherParam' + paramValue; 
1

嘗試本地存儲。

for (var i = 0; i < 8; i++) { 
    $('#level' + i).click(function() { 
     levelSelected = this.id; 
     console.log(levelSelected); 
     location.href='level.html'; 
     localStorage.id = levelSelected; 
    }); 
} 

然後在你想要使用它的頁面上調用var back。

localStorage.getItem('levelSelected');