发表于: 2017-03-19 14:07:39

1 1192


今天完成的事情:完成了loading页和任务二的设置页。
明天计划的事情:任务三的知识储备,以及jquery的初步学习
遇到的问题:

1.任务二在昨天完成了输入框、滑块、+-按钮的关联之后,在分配身份的时候遇到了困难,我本来的思路是在判断输入框的人数得出杀手人数i后,在(0~总人数)的这个范围里生成 i个随机数,然后将这两个随机数作为杀手的位置显示出,其余位置均为平民,但是在输出结果的时候,没有办法做到按顺序输出,还没有想好解决办法。

只好参照师兄的方法,将杀手的元素和平民的元素组合成一个数组,乱序后依此输出。

  for (var i = 0; i < killer.length; i++) {
//生成杀手数组并在控制台打印
       killer[i] = "杀手";
       document.getElementById("role1-num").innerHTML = i+1;
       console.log(killer[i]);
   }

console.log(killer);
   for (var j = 0; j < inputNum.value - killer.length; j++) {
//生成平民数组并在控制台打印
       person[j] = "平民";
       document.getElementById("role2-num").innerHTML = j+1;
       console.log(person[j]);
   }

//将杀手和平民的数组合并并将数组的顺序打乱后输出
   var all = killer.concat(person);

   function randomSort(a, b) {
return Math.random() > .5 ? -1 : 1;
   }

all.sort(randomSort);//利用随机函数产生一个随机数字,再传入sort()取得随机打乱的数组
   console.log(all);
   for (var m = 0; m < all.length; m++) {
//输出打乱的数组,即分配玩家身份,且在页面中显示
       if (all[m] == '杀手') {
player += "<li><span></span>" + (m + 1) + "号" + "&nbsp;&nbsp;" + all[m] + "</li>";
       } else {
player += "<li><i></i>" + (m + 1) + "号" + "&nbsp;&nbsp;" + all[m] + "</li>";
       }
console.log(player);
       identiityShow.innerHTML = player;//设置显示区域的html
   }
allPlayer = JSON.stringify(all);//使用json把对象转换为字符串
   sessionStorage.all = allPlayer;//把字符串储存到缓存中

};

收获:loading页面使用了一种简便的处理办法,

<meta http-equiv="refresh" content="3;url=setting.html" />

可以在页面打开后3s自动跳转到新的页面,当然也可以使用定时器

setInterval

设置倒计时,并添加显示效果,准备有空进行优化。


返回列表 返回列表
评论

    分享到