发表于: 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) + "号" + " " + all[m] + "</li>";
} else {
player += "<li><i></i>" + (m + 1) + "号" + " " + 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
设置倒计时,并添加显示效果,准备有空进行优化。
评论