今天完成的事
1.继续学习一些Javascript的基础知识
2.开始js任务2
3.初步架构任务二跳转到的玩家配置页面

4.完善整个页面 使其初步达到要求
学习了 type=“range”的html5属性
并完成滑块部分

5。学习一下type=“range”属性的具体使用以及如何美化
6.美化滑轨滑块效果并初步完成页面

7.学习正则表达式的知识并编写出符合出要求的正则表达式
var RE = /^[6-9]$|^1+[0-8]$/;
8.使用正则表达式来检测输入框的输入是否正确
NUM.onkeyup = function sla(sla){
if(RE.test(NUM.value)) { //将数值输入正则表达式
stoptxt.innerText = ""; //符合条件清除警告
var sla = gamer1(NUM.value);
} else{
if(NUM.value<8){
NUM.value = 6;
}else{
NUM.value = 18;
}
stoptxt.innerText = "请输入6至18的任一数字"; //显示警告
}
NUM.value = VA.value;
};
9.根据玩家数量得出杀手数量
function gamer1(a){ //自定义函数 根据玩家数量来得出杀手数量
var nn = 1;
if(RE.test(a)){
if(a<16){
if(a<12){
if(a<9){
nn = 1
}else{
nn = 2
}
}else{
nn = 3
}
}else{
nn = 4;
};
}
return nn;
}
var slayer = gamer1(NUM.value);
10.声明一个空数组并加入杀手与平民
var MATH = [];//声明空数组
for(var i=0;i<NUM.value;i++){//将杀手和平民加入数组 使用循环函数
for(i=0;i<slayer;i++){
MATH[i] = "杀手";
}
for(i=slayer;i<NUM.value;i++){
MATH[i] = "平民";
}
}
11.使用洗牌算法乱序排列

12.给下方按钮添加点击事件
BUTTON.onclick = function(){//“去发牌”点击事件
if(RE.test(NUM.value)) { //将数值输入正则表达式
} else{ //输入值不符合要求时
NUM.value = ""; //清除输入框数值
alert("请输入4至18的任一数字"); //显示警告
}
}
13.使玩家数量数值变动时自动修改显示出的玩家方块
if(playergamers.childNodes.length!=1){ //假如玩家显示部分已包含有子元素
playergamers.innerHTML = ""; //则删除所有子元素
};
for(let i=0;i<VA.value;i++){ //符合正则表达式则依据数量产生元素节点插入
let d = document.createElement("div"); //声明并创建元素节点
d.className = "players-div"; //元素节点的类为
d.innerText = MATH[i]; //元素节点包含的文本内容为杀手或平民
playergamers.appendChild(d); //将产生的元素插入指定位置的后面
}
14.初步完成任务2 并开始任务3
15.完成任务三的页眉
<header class="header">
<div class="header-d"></div>
<div class="header-x"></div>
</header>
.header{
display: block;
position: fixed;
height: 50px;
background-color: rgb(41, 189, 224);
width: 100%;
.header-d{
position: relative;
top: 12px;
left: 15px;
width: 20px;
height: 20px;
border-left: 3px solid white;
border-top: 3px solid white;
transform: rotate(-45deg);
}
.header-x{
display: block;
position: relative;
width: 30px;
height: 2px;
background-color: white;
float: right;
transform: rotate(-45deg);
}
.header-x::after {
content: "";
display: block;
width: 30px;
height: 2px;
background-color: white;
transform: rotate(90deg);
}
}

16.简单学习了js传参的几种方式
并计划使用url传参
明天的计划
1.任务2在使用滑轨快速变动玩家数值的时候玩家显示部分仍有错误
需要debug
2.根据url传参的方式 给任务2的JS部分添加代码
将玩家数组转换为url可以传递的字符串
3.使用url传参并添加到发牌按钮的href部分
4.在任务3中获取任务2传过来的参数并转化为玩家数组
5.依据玩家数组来赋予玩家身份
6.给查看身份按钮使用事件监听器 达到依据点击次数的不同赋予不同的点击事件
今天遇到的问题
1.在查看URL传参的时候百度都找不到基础的使用方法
后面再官网找到了 有时候还不如直接在官网看 节省时间
今天的收获
1.学会了简单的正则表达式使用
用来限制输入的文字或数字类型
2.学会了洗牌算法的简单使用
洗牌算法可以以平均的概率将每个元素分配到每个位置上
3.学会插入元素,修改元素,删除元素的简单使用
评论