更新代码时保留变量

Keep a var when updating the code

本文关键字:变量 保留 代码 更新      更新时间:2023-09-26

我想用javascript和html做一些事情,但我遇到了一个问题。

我有一个选择页面,我可以在其中单击 8 个不同的按钮,我想要一个 var 来获取此按钮的 id。这个按钮把我扔到另一个页面上,必须使用这个变量。

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

我想在另一个页面再次调用此变量时保留此变量的值。

谢谢!

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';
    });
}

在 localStorage 或 cookie 旁边执行此操作的一种方法是在 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;
    });
}

看看如何从javascript中检索GET参数?,看看以后如何在下一页中检索参数。

另外,如何在JavaScript中获取查询字符串值? 正如特里在您的答案中的评论中所建议的那样。

编辑

以防万一您不熟悉 GET 属性 - 您拥有任意数量的属性,只有第一个必须在前面加上一个?,而所有其他属性必须在前面加上一个&

所以:

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

尝试本地存储。

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 时使用它。

localStorage.getItem('levelSelected');