为什么这里我在keyCode==38条件下加as[index].style.backgroundColor="#fff";按上下键怎么按都没反应了,但是把这句删了后按上下键背景颜色有换只有按下键才能更换选项后把原选项背景颜色变回白色

来源:5-1 编程挑战

ZE明

2018-03-04 10:57

 document.onkeydown=function(){
        if (event.keyCode==40){
            as[index].style.backgroundColor="#fff";
            if(index==4){
                index=0;
            }
            else{
                index++;
            }
        }
        if (event.keyCode==38){
            as[index].style.backgroundColor="#fff";
            if(index>0){
                index--
            }
            else{
                index=as.length-1;
            }
        }
        as[index].style.backgroundColor="#456";
    }


写回答 关注

4回答

  • 五趾的鱼
    2018-03-04 16:39:47
    已采纳
    document.onkeydown=function(event){
        for(var i=0;i<as.length;i++){
            as[i].style.background="none"
        }
        if (event.keyCode==40){
            if(index>=4){
                index=0;
            }
            else{
                index++;
            }
            as[index].style.background="#456";
            console.log(index)
        }
        if (event.keyCode==38){
            if(index<=0){
                index=as.length-1;
            }
            else{
                index--;
            }
            as[index].style.background="#456";
        }
    
    }


    ZE明 回复五趾的鱼

    好的,十分感谢

    2018-03-05 16:54:49

    共 4 条回复 >

  • 五趾的鱼
    2018-03-04 16:42:25

    对了你还有个参数没写     event

  • 五趾的鱼
    2018-03-04 16:40:38

    这次试过了  

    这一句  as[index].style.backgroundColor="#fff";

    还有你的判断  


  • 五趾的鱼
    2018-03-04 16:19:52


    if (event.keyCode==38){
                as[index].style.backgroundColor="#fff";
                if(index=0){
                    index=as.length-1;
                }
                else{
                    index--
                }
            }

    这样试试

    ZE明

    也不行。index--后面加个;也不行

    2018-03-04 16:26:11

    共 1 条回复 >

DOM事件探秘

DOM事件?本课程会通过实例来给小伙伴们讲解如何使用这些事件

99545 学习 · 1197 问题

查看课程

相似问题