1
试图用JavaScript创建座位预订系统并将数据与本地存储保存为学校项目。试图用javascript创建座位预约系统并用本地存储保存数据
这就是我现在拥有的。我有4个不同的img(座位)椅子2dim阵列一个女巫是1班椅2班2班椅3班3和chair0女巫是没有椅子.....但我不知道如何预留座位..当我点击在它上面它变成绿色,但我想要当我再次点击回到它以前的img。并想如果我预订一个座位,当我刷新改变IMG源的页面(变灰),这意味着它已经采取
var currentDiv = document.getElementById("div1");
var zaal = [ [0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0],
[0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0],
[0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0],
[3, 3, 3, 3, 3, 2, 2, 3, 3, 3, 3, 3],
[3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3],
[3, 3, 3, 2, 2, 1, 1, 2, 2, 3, 3, 3],
[3, 3, 3, 2, 2, 1, 1, 2, 2, 3, 3, 3],
[3, 3, 3, 2, 2, 1, 1, 2, 2, 3, 3, 3],
[3, 3, 3, 2, 2, 1, 1, 2, 2, 3, 3, 3],
[3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3],
[3, 3, 3, 3, 3, 2, 2, 3, 3, 3, 3, 3],
[0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0],
[0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0],
[0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0] ];
for (i = 0; i < zaal.length; i++) {
var newLine = document.createElement("br");
currentDiv.appendChild(newLine);
for (j = 0; j < zaal[i].length; j++) {
var newImg = document.createElement("img");
currentDiv.appendChild(newImg);
newImg.style.width = "8%";
newImg.className = "stoelen";
newImg.id = "rij_" + i + "_plaats_" + j;
newImg.onclick = function() {myFunction(this)};
if (zaal[i][j] === 3) {
newImg.src = "pictures/reservering/chairs3.png";
}
else if (zaal[i][j] === 2) {
newImg.src = "pictures/reservering/chairs.png";
}
else if (zaal[i][j] === 1) {
newImg.src = "pictures/reservering/chairs5.png";
}
else{
newImg.src = "pictures/reservering/chairs7.png";
}
}
}
function myFunction(x){
x.src = "pictures/reservering/chairs4.png";
}
一个简单的解决办法是在每个图像上设置一个属性来保存其旧状态。在更改图像src之前myFunction内部添加x.setAttribute('oldImage',x.src);然后修改该功能,在第二次点击时切换它(我不工作给你更多的代码) – GramThanos 2014-10-03 10:16:13
Thnx @ThanasisGrammatopoulos!现在它帮助了很多它的工作!直到现在,我仍然坚持保存所有点击椅子的数据。本地存储只保存一个密钥和一个值...但我想保存多个密钥,值是为每个主席生成的ID – Sammy 2014-10-03 11:44:28
再次没有代码,因为它是学习,但搜索JSON.stringify()和JSON.parse()来 – GramThanos 2014-10-03 12:30:22