30daysJS-08 - Hold Shift to Check Multiple Checkboxes

唉这个可太巧妙了，开启了新世界大门。 我自己先写了遍，我写得很想当然，一开始甚至想过clientY这种，后来想的是数组： 需要修改的li在一个数组内； 需要确定起点和终点，再遍历数组使起点和终点内的checkbox被选中。 问题就是如何确定，我的方法是： 新建函数A，空数组B，变量start和end：每次点击都触发A，A确定点击li在数组中的index，push到B内，最后为start赋值B[0]，end赋值B[B.length - 1 ]，按照start为开头，end为末尾splice总数组，得到新数组B2; 新建函数C，C内有一个if，if是否按着shift 和点击的e.target.checked为true，如果是的话就遍历B2，使B2内所有li的checked为true。…