发表于: 2017-05-08 22:03:35
1 1076
今天完成的事情:
解决任务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增加一些了解。
评论