发表于: 2017-05-08 22:03:35

1 1078


今天完成的事情:

    解决任务2 洗牌算法无法执行问题

    完成任务3中参数传递、显示隐藏视图、变量查看身份

  

明天计划的事情

  学习浏览器本地储存的知识

  完成任务3中法官查看界面

  看高程,准备任务4

  

  

  

  

 

    

遇到的问题:

  1、任务2中洗牌算法无法执行问题。无法执行的原因是,将数组array作为function的参数运行函数,也就是function(array).函数传入了错误的参数,无法运行。

deal.onclick = function () {          //array并不是函数运行的参数。
//创建数组,并将杀手、平民加入数组内容。
   var i;                    
   for (i=0;i<num;i++){
        if (i < killer) {
          array[i] = "杀手";      //获取杀手的人数,加入数组。
        }
        else {
          array[i] = "平民";      //数组中剩余部分为平民。
        }
   }
//数组打乱
   for (var l = array.length; l--; ) {     
var j = Math.floor(Math.random() * (l + 1));
       var temp = array[l];         //将数组中内容进行换位。
       array[l] = array[j];
       array[j] = temp;
   }

 

 2.任务3中页面间进行参数传递。这里主要传递的是打乱后的数组array。这种传参的方法,接收方相当于传递方的子界面。

      传递界面

var url = "shenfen.html";               //接收参数的url.   
window.open(encodeURI(url + "?=" + array));  // 打开新的界面并将array传递给子界面。
//encodeURI编码   ?不可以去除,否则找不到子界面

    接收界面

var urlinfo = window.location.href;        //获取url
var total = urlinfo.split("?")[1].split("=")[1];                           //用split("=")[1]得到等号后面的值,split从0开始计数),total是分配好的游戏角色的字符串。
var array;                       
array = decodeURI(total).split(",");//decodeURI解码 将传递过来的字符串变成数组。

 

  3.显示和隐藏视图

      原理是通过JS更改元素的display属性。

      实现方法,设置一个参数,判断点击的次数是奇数次还是偶数次。奇数次显示“查看身份”,偶数次显示“传递给下一个人”。


   4.对于法官查看界面,目前的思路是创建元素节点,这里明天研究一下实现方法。


收获:  对原生JS增加一些了解。

 



返回列表 返回列表
评论

    分享到