发表于: 2019-03-27 20:24:24

1 567


今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin) 

1、今天完成了杀手杀人的判断。

关于数据的获取存储在任务中会经常需要,还是开始给这个九宫格添加点击事件,因为有事件才能去调用写的函数。

在写完之后发现,给

$('.main-square-boxs').click(function () {

这个class添加点击事件,就是说不管是杀手杀人还是投票页面还是法官查看日志都可以点击,这个就有点问题了。应该是需要设置条件的,所以我这里还是运用了我存储的数据

我设置的一个判断条件

if (fromWhere === '点击杀人')

等于这个页面是杀手杀人的时候执行点击事件函数。

所有的数据都声明一个变量去存储,这个是在前面学习的时候学到的同样的方法。

好了这里就需要获取法官日志页面的数据了,

let step = JSON.parse(sessionStorage.getItem('step')); //获取step阶段点击的数据
let diary = JSON.parse(sessionStorage.getItem('diary')); //获取日志数组的数据

还是用数组的长度时设判断条件,

if (diary.length !== 1) {
       //先判断白天还是晚上
       if (step.length == 1) {
           // console.log(s,transmit)
           if(transmit[s].name == '平民' && transmit[s].death == true) { //判断是平民就杀
               // console.log(s,'索引')
    $('.square-identity').eq(s).addClass('squareRed'); //每次都添加一个颜色
  } else if (transmit[s].death !== true) { //判断杀人页面不能点击杀手
     alert('身份已经死亡');
  } else {
    alert('同伴不能杀');
   }
  }
}  

diary.length不完全等于1的时候执行,用数组对象去判断是平民就杀,如果是杀手就是同伴不能杀,找平民和杀手就需要通过eq()的方法去找平民的位置。

点击杀人后通过改变背景色证明此身份被杀,然后学习了一个方法addClass()的方法,addClass() 方法向被选元素添加一个或多个类名。这个类名里有设置的颜色样式。相对的也有清除的方法removeClass() 方法从被选元素移除一个或多个类。

颜色发生改变之后也是需要清除的

for(let t = 0; t < transmit.length; t++) { //清除原本颜色重置样式
$('.square-identity').eq(t).removeClass('squareRed');
}

这个判断写完后,有个问题所以执行不了,后面是经过师兄指导原来是this的写法错了,然后给我讲解了一波关于this的指向。

this是指调用当前方法的对象,this是指向,谁调用这个函数,this就指向谁,所以这里我点击.main-squery-boxs这个按钮事件,调用了这段函数,this就会指向我调用的这个对象。然后按照师兄给我修改的,如下:

let s = $(this).index();

关于this

明天计划的事情:(一定要写非常细致的内容) 


遇到的问题:(遇到什么困难,怎么解决的) 
收获:(通过今天的学习,学到了什么知识)


返回列表 返回列表
评论

    分享到