发表于: 2019-11-23 23:00:39
1 1138
今天完成的事情:
1.逻辑问题基本梳理完。优化了之前的一些结构。css部分也做了优化
明天计划的事情:
1.打个包打个包。终于可开始了。
遇到的问题和收获:
1.发现结果页出现文字有时候不显示,还会报错。是因为结尾for循环处的voteKill出现了未指定的位置,未定义。优化下结构,主要思路还是根据天数的myDay变化来变化。投票界面根据myDay,杀人界面我重新设置了一个新的参数,点击杀人按钮会自动生成。因为实验下来发现杀人文字文字出现条件不一样。
if (history3 !== null) {
killerNum.text(history3[0].voteNum);
peopleNum.text(history3[0].killNum);
for (var i = 0; i <= history3[0].controlDay; i++) {
var a = i + 1;
var o = $(result());
$("main").append(o);
}
for (i = 0; i < history3[0].myDay; i++) {
$(".word-day2").eq(i * 2 + 1).text("白天:" + history3[i * 4 + 3].voteKill);
}
}
需要传递的一些数据。主要想法还是点击按钮后生成一个参数,后续行为根据此参数来判断。比如这里有点击数,天数,状态等。
2.游戏结束的逻辑判断,是让杀手人数为0,或者水民人数为0时游戏结束。其实之前复杂点,在投票完成时还剩杀手或者水民的话游戏就应该结束的。现在还是写成了需要点到最后一步,即必须是一方全部死完才结束。
if (history2[0].voteNum === 0 ||
history2[0].killNum === 0 ||
(history2[0].voteNum > history2[0].killNum === 0)) {
history2[0].look = 1;
// sessionStorage.setItem("myHistory", JSON.stringify(history2));
window.location.href = "../js-2-7/js-2-7.html";
3.关于jquery操作伪元素,修改伪元素样式颜色。即下面的小三角。
.behavior:after {
position: absolute;
content: "";
@include w-h(0, 0);
left: -1.5rem;
top: 50%;
margin-top: -.55rem;
border-top: .55rem solid transparent;
border-left: .8rem solid transparent;
border-right: .8rem solid #24A7C6;
border-bottom: .55rem solid transparent;
}
.behavior-1:after {
@extend .behavior:after;
border-right: .8rem solid #96CDCD;
}
操作方法是这样,先在css里写好两个样式,然后
for (i = 0; i < history1[0].count; i++) {
behavior.eq(i).addClass("over behavior-1");
}
在原类名后面再添加一个新类名,即在behaviour后面添加一个behaviour-1.此时样式会变成预先设置好的behaviour-1样式。
这是通过切换类名的方式实现。
评论