if(ev.keyCode==40) {inde
鍵盤事件中if(ev.keyCode==40) {index++;if(index>as.length){index=0;} for(var i=0;i<as.length;i++ ){as[i].style.backgroundColor="white";} as[index].style.backgroundColor="red";中這個as[i].style.backgroundColor="white"究竟是怎么起作用的?
鍵盤事件中if(ev.keyCode==40) {index++;if(index>as.length){index=0;} for(var i=0;i<as.length;i++ ){as[i].style.backgroundColor="white";} as[index].style.backgroundColor="red";中這個as[i].style.backgroundColor="white"究竟是怎么起作用的?
2018-01-30
舉報
2018-02-01
if(ev.keyCode==40)?{??????????????????????//如果在鍵盤上按下下鍵 ??index++;????????????????????????????????//變量index的值加1 ??if(index=as.length){????????????????????//判斷index的值是否等于下拉菜單長度 ????index=0;??????????????????????????????//如果Index的值等于菜單長度則說明索引越界,需要將其重置為零 ??}? for(var?i=0;i<as.length;i++?){????????????//遍歷菜單選項的數組 ??as[i].style.backgroundColor="white";????//將每個選項的背景設為白色 }? as[index].style.backgroundColor="red";????//將索引為index的菜單選項變為紅色事件觸發時,函數中的代碼從上到下的運行。如果不遍歷菜單數組將每個選項的背景重置為白色,那么按一次向下鍵就有一個選項的背景色變紅,按完幾次后所有的選項都變紅了(用戶不知道自己此刻選中的是哪個選項),所以每次鍵盤按下之前要將之前按下的效果清空。