发表于: 2017-04-23 23:17:12

1 899


  • 今天完成的事情:

  • 1、在杀人页面添加了点击图标播放音频事件。

  • 2、完成页面中的自动生成相应人数的小方块。

  • 3、添加一个新数组,里面的元素是对象,对象中保存着序号,身份,死亡状态,死亡方式等信息,为之后做判断。

  • 4、学会了jq中的遍历同胞的方法。主要在任务中使用了siblings() 方法,

    点击之后所在方块边框变色,以示不同,为了防止点击其他方块之后不变回来,需要遍历同胞,使其变回
  • $(".container").on("mousedown", ".col",
       function () {
           $(this).css({"border":"2px solid #ff0000"}).siblings().css("border","2px solid #ffffff")
    }
    );

    5、了解了一点事件冒泡和事件捕获的知识。


  • 明天计划的事情:

  • 1、完成杀人页面的其余逻辑关系。

  • 2、准备小课堂知识点。再完善一下。

  • 3、继续学习js高程中的引用类型部分。


  • 遇到的问题:

  • 1、在写音频点击事件时,开始想着用JQ少写点代码,使用了play()和pause(),结果发现不起作用,后来发现是jq对象没有play()方法导致,所以采用源生选择器document.getElementById。也可以将jq对象转换为DOM对象来解决。

    var bgm1=document.getElementById("bgm");
       $("#play-pause").click(
    function () {
    if(bgm1.paused){
    bgm1.play();
               }
    else {
    bgm1.pause();
               }
    }
    );

    2、利用jq的css()方法找到被选中的方块,并得到序号,主要采用了以下办法。在输入border的样式时写的是"2px solid #ff0000",所以开始的时候判断相等是也用的"2px solid #ff0000",后来在浏览器中调试,发现颜色样式从16进制变成了rgb格式,所以用rgb样式进行判断,才成功。

    var x=0;
    for (var m=0;m<identity.length;m++){
    if ($(".col").eq(m).css("border")==="2px solid rgb(255, 0, 0)") {
    console.log(m);
           break;
       }
    x++;
    }



      • 收获:

      • 1、了解了jq对象和DOM对象的区别,jQuery对象就是通过jQuery包装DOM对象后产生的对象。jQuery对象是jQuery独有的,其可以使用jQuery里的方法。 虽然jQuery对象是包装DOM对象后产生的,但是jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法.乱使用会报错。

      • 2、jq对象和DOM对象之间可以相互转化。

      • DOM对象转化成jq对象:对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。$(DOM对象) 

      • jq对象转化为DOM对象:由于jQuery对象本身是一个集合。所以如果jQuery对象要转换为Dom对象则必须取出其中的某一项,一般可通过索引取出。 

      •                                        两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index); 

      • 3、事件冒泡和事件捕获是描述事件触发时序问题的术语。事件捕获指的是从document到触发事件的那个节点,即自上而下的去触发事件。相反的,事件冒泡是自下而上的去触发事件。绑定事件方法的第三个参数,就是控制事件触发顺序是否为事件捕获。true,事件捕获;false,事件冒泡。默认false,即事件冒泡。

      • 在有些情况下设置阻止冒泡会十分有用。


    返回列表 返回列表
    评论

      分享到