【发布时间】:2019-12-27 03:06:07
【问题描述】:
我的新项目是一个小型“拼图”游戏,您可以进入一个房间并在里面解决一个难题,然后当您返回关卡选择部分时,它会打开下一个关卡。
到目前为止,我一直使用单个变量“lock”来计算每次你通过一个级别时的计数,如果“lock”的值与它会让你通过的级别编号相对应。
问题是,当我使用location.href 时,它似乎重置了“锁定”变量。
关卡选择的HTML:
//html, link to js and some text
<h1>
<img src="assets/Nextbutton1.png" onclick="t1()" width="100" //1st level button
height="100"> <br>
<img src="assets/Nextbutton2.png" onclick="t2()" width="100" //2nd level button
height="100">
Win 画面 html
<body>
<h1 align="center"> Congratulations</h1>
<button align="center" onclick="joo()">Back to level select</button>
几乎所有东西的Javascript
var lock;
var taso2; // future stuff
var taso3 = 2; //future stuff
function joo(){
location.href='index.html'
if (lock == 0) // if statement so you dont progress by playing 1st level over and over
{
lock += 1;}
}
function t2() {
if (lock > 0) {
location.href='Taso2.html';
}
else { alert("You have to beat the previous levels first") }
}
function t1() {
location.href='Taso1.html';
}
【问题讨论】:
-
您可以尝试使用cookies吗?
-
完成关卡时:
localStorage.setItem('lock', lock);。当您需要确定他们可以访问哪些级别时:lock = localStorage.getItem('lock');。 -
您可以将变量作为查询参数传递(在 .html 扩展名之后使用 ?var=foo)。但要小心,变量不安全,很容易修改。
-
如果你觉得我的回答是正确的,你能接受吗?
标签: javascript html var