发表于: 2017-03-18 21:05:05

1 550


今天完成的事:修了一天的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号玩家成为杀手的几率很大。

收获:如上。


返回列表 返回列表
评论

    分享到