更新代码时保留var

时间:2015-01-12 21:20:34

标签: javascript jquery html

我想用javascript和html制作一个东西,但我遇到了问题。

我有一个选择页面,我可以点击8个不同的按钮,我想要一个var来取这个按钮的id。这个按钮把我扔到另一个页面上,它必须使用这个var。

问题是当在第二页中再次调用代码时(为了在主函数中返回var,否则它不起作用),此代码被更新,我的var显然被重置为0;

我想在我的其他页面再次调用它时保留此var的值。

谢谢!

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 个答案:

答案 0 :(得分:2)

在localStorage或cookies旁边执行此操作的一种方法是在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?正如特里在你的回答评论中所说的那样。

修改

如果你不熟悉GET属性 - 你有任意数量的属性,只有第一个必须以?开头,而所有其他的必须以&开头。 {1}}。

所以:

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

答案 1 :(得分: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');