发表于: 2019-11-05 22:55:18
1 974
今天完成的事情:
1.继续杀手和流程界面。可以做到杀人标记和文字提示。
明天计划的事情:
1.看能推进多少,应该可以做状态机了。
2.讲小课堂。
遇到的问题和收获:
1.我在想本页面的数据是怎么传的,也是用sessionStorage转换然后传递给本页吗。开始直接用数据发现无效,是因为这个数据没有保存下来,重新进入本页面会消失。那我尝试了保存数据,然后又传上去,
杀手页面先保存一下点击后的死亡状态
$("#sure").click(function () {
if (myClick === true) {
//存储死亡状态
sessionStorage.setItem("status", JSON.stringify(deadPeople));
console.log(deadPeople);
window.history.back();
} else {
alert(myClick);
}//判断是否点击了人物框
})
然后重新进入本页面时加载保存的数据,然后判断死亡状态,如果死亡,就更改背景色。
var peopleDie = JSON.parse(sessionStorage.getItem("status"));
console.log(killerWaterNum);
var statePeople=$(".box-people");
if (peopleDie.state === "dead") {
statePeople.eq(peopleDie.number - 1).css("pointer-events", "none");//让点击事件失效
$(".word").eq(peopleDie.number - 1).css("backgroundColor", "#C9C9C9");
}
pointer-events:none,是让点击事件失效。这里我是想让死亡状态的人处于无法点击状态。
css("pointer-events", "none")
然后就是虽然保存下来了死亡状态,不过每次进入本页面,也只会保存到一个死亡状态。应该还是哪里漏掉了。
另外就是这个传递应该可行吧。目前尝试还可以。
2.在流程界面出现对应文字写法是:
var peopleState = JSON.parse(sessionStorage.getItem("status"));
console.log(peopleState);
if (peopleState.state === "dead") {
var text =
"<p class='kill-message'>\n" + peopleState.number + "号被杀手杀死,真实身份是" + peopleState.role + "</p>";
$(".box-day").eq(0).after(text);
$(".kill-message").show();
}
先接受杀手界面的死亡讯息。然后用字符串写出文字结构。对应出死亡人序号。
总感觉像把某些东西搞复杂了?是我想太多了吗。嗯。。
评论