出现的两个阴影问题都知道,但是大家给代码啊,其实在onmouseover里面先清除样式就可以,for(var i=0;i<as.length;i++) { as[i].style.background='none'; }
http://www.imooc.com/article/16924
for(var i=0;i<as.length;i++){ as[i].onmouseover=function(){ for(var i=0;i<as.length;i++) { as[i].style.background='none'; } this.style.background='#ccc'; } as[i].onmouseout=function(){ this.style.background='none'; } as[i].onmousedown=function(){ title.innerHTML=this.innerHTML; } },你看这是我整个for循环,自己浏览器测试的正常呀,chrome跟ie都试过
尝试过这个方法行不通,刚刚试方法的时候想到上面键盘事件使用的方法,每次按键盘的时候都会调用for循环让所有选项背景为白色,因此想到了在鼠标事件的时候也可以先设置for循环将所有背景变为白色(也就清除了第一个阴影),再执行鼠标移到的位置背景阴影的方法,在慕课的测试环境里是达到了解决bug的效果,但是换成本机的浏览器不知道为什么就没有用啦。
自己试一下就知道咯