发表于: 2017-03-18 21:05:05
1 549
今天完成的事:修了一天的bug?
1)修正了之前显示区多次配置,内容累计显示不清空上一次的问题。
上代码好说话。
<div class="role-show" id="roleShow">
<ul class="role-list" id="role-ul">
</ul></div>
var oshow = document.getElementById("roleShow");//显示区div
var roleUl = document.getElementById("role-ul");//get ul
oshow.innerHTML = "";
问题在于每次只清空了外层role-show,没有清空ul内容。
在每次循环开始前清空一下ul即可。
2)问题如下,按照操作步骤:输入18,配置,显示出18个角色,分配比例正常;更改为数字6,配置,显示出15个角色,杀手数量依旧按照6玩家比例分配。
一开始很茫然找不到问题出在哪里,师姐耐心帮忙检查bug调试,超感动的。看着师姐调试跟着学到很多。打断点,console.log输出每一步用到的数组。很快就锁定了问题出现在哪一块代码。
在点击配置按钮后,首先将数字框内的数字传给保存所有角色配置的数组aTotal,在配置一次之后,aTotal数组仍然保持上一次的数据。要解决这个问题应该在写入li元素的循环前再一次赋值。
3)修正了小滑块部分的问题:每次更改数字框的内容后,range会有变动。但拖动range的滑块数字框不会有变动。
关于拖动小滑块时数字更改,使用了oninput事件和onchange事件。oninput会实时动态监测数据的变动,onchange是在此次变动结束后才会执行。
之前有双向绑定在同一个函数内,有冲突。现在修改如下
oSlider.oninput=function () {
otextNum.value=oSlider.value;
}
otextNum.oninput=function () {
oSlider.value=otextNum.value;
}
4)发现了 oSlider.value与使用nSlider=oSlider.value;区别
使用变量会出现问题,使用oSlider.value效果正常。发现这个问题多亏了某师姐的强迫症。
原因在于nSlider只是在代码开始赋值,保存一开始的oSlider.value的值,在value值更改后没有再给变量nSlider赋值,变量内的值成为固定的。后面自然就出问题。(ps感谢某位师兄)
明天要做的事:写任务三。
遇到的问题:sort函数打乱数组顺序伪随机,1-2号玩家成为杀手的几率很大。
收获:如上。
评论