我想用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';
});
}
答案 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');