发表于: 2019-12-30 23:17:59
1 1060
今日完成
ps:之前显示布尔值错误,是单词写错了是false不是flase
梳理,现在做到法官页面点击杀手杀人,能能跳转到投死页面,且投死页面不杀人,不跳转
遇到问题:投死后跳转到法官页面,点击变成灰色的设置给重置成初始状态(也就是函数未触发的状态)
解决:
设置一个直接运行的函数,执行效果是改变杀手按钮的背景颜色,这个颜色是杀手页面传递过来的,当没有杀人时,没有颜色,函数运行但没有效果,
当杀人后,颜色传递过来,函数运行产生效果,颜色直接改变
ps:不设置本地储存,是因为一开始点击,数值就会一直存在,点击刷新颜色清除不掉
遇到问题:如何按照顺序点击,当不按照顺序点击时,显示提示框,请按照顺序点击
解决:
做判断,上一个按钮是否为灰色,是,按正常流程走,不是,提示按照顺序,
做判断,本身是否为灰色,是,提示按照顺序走
//判断上一个按钮的颜色,不是灰色就显示提示框按照顺序来,就是该接下来的步骤
a[1].onclick=function(){
if(a[0].style.background!="gray"){
alert("请按照顺序");
}
else if(a[0].style.background=="gray"){
a[1].style.background=huise;
alert("亡灵玩家发表遗言");
}
}
a[2].onclick=function(){
if(a[1].style.background!="gray"){
alert("请按照顺序");
}
else if(a[1].style.background=="gray"){
a[2].style.background=huise;
alert("玩家依次发言");
}
}
a[3].onclick=function(){
if(a[2].style.background!="gray"){
alert("请按照顺序");
}
else if(a[1].style.background=="gray"){
a[2].style.background=huise;
window.location.href = "../js2-6/js2-6.html";
}
}
这是点击,直接变颜色,切换回来,就会重置
所以,要按照杀人按钮,再做一个直接运行的函数改变颜色,值没有传递过来之前,就运行无效
遇到问题:
如何让颜色分批次传递
解决:用会话储存,分批次
杀人页面
if(ww!=0){//一个"="是赋值的意思,所以是两个"="
window.alert("请选人");
}
else{
window.location.href = "../js2-5/js2-5.html";
localStorage.setItem("eee", ee)
localStorage.getItem("eee", ee)
if(eee%14==1){
sessionStorage.setItem("huise1", "gray")
}
else if(eee%14==2){
sessionStorage.setItem("huise2", "gray")
}
法官页面
var huise1 = sessionStorage.getItem("huise1");
var huise2 = sessionStorage.getItem("huise2");
console.log(huise1);
a[0].style.background = huise1;
a[1].style.background = huise2;
a[2].style.background = huise2;
a[3].style.background = huise2;
结果不行
原因:待确定(保证跳转页面之后的,还保留之前的数据)
换个思路,点击按钮,传递过去一个值,以有没有这个制作判定,传回来直接运行的颜色,
在对应跳转按钮设定相应的颜色顺序
sessionStorage.setItem("xuhao1", c);
遇到问题:同一个值怎么两次传递给两个id?
解决:同一个值,点击设置一个数组,每次点击的值放进数组储存起来,把数组传递过去,绑定数组不同的索引值
所有的问题都解决了,但是修改时,不知道哪个样式出错,感觉代码缠绕在一起了,所以重新做,既然要重新做,就直接用jQuery重新做一遍
遇到问题:所有的正确的错误的代码写在一起,错了看花了眼,找不到原因所在(想着留着错误,好回头看的)
收获:代码也要跟着分版本,错的对的谢在一起相互影响
明日计划:用jQuery库重构代码
评论