1,能用CSS解决就不用JS,题目的思路用:hover伪类可以解决这个问题。
2,但是你的代码是click事件..有点没对上,好吧,既然都写了事件代理,我写一个low点的,在li不多的情况下直接操作li
(function(){
var color_list = document.getElementById('color');
var lis = color_list.getElementsByTagName("li");
for(var i = 0;i
闭包知道吧?为了不污染全局变量使用闭包,第一种写法是直接清除全部li的颜色,给当前点击的li加上颜色。
第二种写法我直接写里面了,外面的雷同的元素获取和闭包的代码我就不重复写了
var last = 0;
for(var i = 0;i
第二种是清除上一个,给当前的li添加颜色,相比较而言第二种的性能稍微好点,第一种方法理解起来简单一点。
ps:不过我还是推荐事件代理的写法。
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…