发表于: 2019-12-27 22:03:39
1 1740
今日完成
继续写法官页面
传递数组设置身份变量\
//传递数组
var get = localStorage.getItem("key"); //读取数组,显示正常,传递出来
var cc4 = JSON.parse(get); //再把数组转换成字符串
//设置身份变量
var shenfen;
if (cc4[xuhao] == 0) {//判断身份
shenfen = "杀手"//对应html元素输出身份
} else {
shenfen = "平民"
}
var a=document.getElementsByClassName("main-2-p");
a[0].onclick=function(){
window.location.href = "../js2-6/js2-6.html";
}
// Number(xuhao);//这种方法无法转换成数字,加号连接时还是当成字符串
if(xuhao>=0)
{
document.getElementById("p1").innerHTML=1+xuhao+"号被杀死,他的身份是"+shenfen;
//document.getElementById("p1").innerHTML=(1+xuhao)+"被杀死"
}
显示:


接下来按照顺序点击,否则出现提示框,请按照顺序点击且保持颜色变暗
中间发现问题,不管杀不杀人,投死都会跳转,所以做个判断没人时不会跳转,显示杀人
所以在投死按钮做个判断
//方法一:错误,a的值不是目标的值,始终为8
console.log(a);
function skip() {
if (a >= 0) {//只要点击,索引值就是大于或者等于0
window.location.href = "../js2-5/js2-5.html";
} else {//不点击,就没有索引值显示选人
window.alert("请选人");
}
}
显示:


所以为杀人直接点击投死还是会直接跳转,因为a初始有值(想设定的是初始无值显示"请杀人",有值跳转)
ps:这个a的值是哪的?
------------------------------------------------------------------
所以,为了解决问题,把判断写在循环里
//方法二:失败,显示点击函数skip()未定义
console.log(a);
function skip() {
if (a >= 0) {//只要点击,索引值就是大于或者等于0
window.location.href = "../js2-5/js2-5.html";
} else {//不点击,就没有索引值显示选人
window.alert("请选人");
}
}
未杀人点击显示(未跳转):


杀人后点击显示(未跳转):


-------------------------------------------------------------------------------------------------------
换个思路,从法官页面把传递过去的值传递回来,一开始没穿值,自然是0
//方法三:失败,换个思路,从另一个页面把值传递过来
var xuhao=JSON.parse(sessionStorage.getItem("xuhao"));
console.log(xuhao);
function skip() {
if (xuhao >= 0) {
window.location.href = "../js2-5/js2-5.html";
} else {
window.alert("请选人");
}
}
未杀人,显示:(点击直接跳转)


杀人未点击显示:


保存之前传递过去的值,点击还是直接跳转,所以失败
----------------------------------------------------------------------------------------
再改,绑定类名,在循环内部写,把函数改为匿名函数
//方法四:成功一半
document.getElementsByClassName("footer-p")[0].onclick=function(){
if (c >= 0) {
window.location.href = "../js2-5/js2-5.html";
} else {
alert("请选人");
}
};
未杀人,点击显示(未跳转):

函数不显示提示框,而是显示skip()未定义
杀人,点击直接跳转(成功一半)
且,未定义函数是写在html中的,去掉之后,
未杀人,点击,没有任何显示(未跳转,也没提示框)
今日完成:传递代码,和接下来的一部分逻辑
收获:let和var的不同(需要找资料再次了解)
明日计划:继续js2-4
评论