发表于: 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样式。

这是通过切换类名的方式实现。



返回列表 返回列表
评论

    分享到