終于還是靠自己做的差不多了,但是發(fā)現(xiàn)個BUG
<!doctype?html> <html?lang="en"> <head> ????<meta?charset="UTF-8"> ????<title>下拉菜單</title> ????<style?type="text/css"> ?body,?ul,?li?{ ????????????margin:?0; ?padding:?0; ?font-size:?13px; ?} ????????ul,?li?{ ????????????list-style:?none; ?} ????????#divselect?{ ????????????width:?186px; ?margin:?80px?auto; ?position:?relative; ?z-index:?10000; ?} ????????#divselect?cite?{ ????????????width:?150px; ?height:?24px; ?line-height:?24px; ?display:?block; ?color:?#807a62; ?cursor:?pointer; ?font-style:?normal; ?padding-left:?4px; ?padding-right:?30px; ?border:?1px?solid?#333333; ?/*background:?url(xjt.png)?no-repeat?right?center;*/ ?} ????????#divselect?ul?{ ????????????width:?184px; ?border:?1px?solid?#333333; ?background-color:?#ffffff; ?position:?absolute; ?z-index:?20000; ?margin-top:?-1px; ?display:?none; ?} ????????#divselect?ul?li?{ ????????????height:?24px; ?line-height:?24px; ?} ????????#divselect?ul?li?a?{ ????????????display:?block; ?height:?24px; ?color:?#333333; ?text-decoration:?none; ?padding-left:?10px; ?padding-right:?10px; ?} ????</style> ????<script?type="text/javascript"> ?window.onload?=?function?()?{ ????????????var?box?=?document.getElementById('divselect'), ?title?=?box.getElementsByTagName('cite')[0], ?menu?=?box.getElementsByTagName('ul')[0], ?as?=?box.getElementsByTagName('a'), ?index?=?-1; ?//?點(diǎn)擊三角時 ?title.onclick?=?function?(event)?{ ????????????????event?=?event?||?window.event; ?if(event.stopPropagation){ ????????????????????event.stopPropagation(); ?}else{ ????????????????????event.cancelBubble=true; ?} ????????????????menu.style.display="block"; ?} ????????????document.onkeyup=?function?(event)?{ ????????????????event?=?event?||?window.event; ?if(event.keyCode==38){ ????????????????????if(index<=0){ ????????????????????????index=as.length-1; ?}else{ ????????????????????????index=index-1; ?} ????????????????}else?if(event.keyCode==40){ ????????????????????if(index>=as.length-1){ ????????????????????????index=0; ?}else{ ????????????????????????index=index+1; ?} ????????????????}else?if(event.keyCode==13){ ????????????????????if(index==-1){ ????????????????????}else{ ????????????????????????title.innerHTML=as[index].innerHTML; ?menu.style.display="none"; ?} ????????????????????index=-1; ?} ????????????????for(var?i=?0,l=as.length;i<l;i++){ ????????????????????if(i==index){ ????????????????????????as[i].style.background="#cccccc"; ?}else{ ????????????????????????as[i].style.background="#ffffff"; ?} ????????????????} ????????????} ????????????for(var?j=?0,l2=as.length;j<l2;j++){ ????????????????as[j].onmouseover=function(){ ????????????????????this.style.background="#ccc"; ?} ????????????????as[j].onmouseout=function(){ ????????????????????this.style.background="#fff"; ?} ????????????????as[j].onclick=function(){ ????????????????????title.innerHTML=this.innerHTML; ?menu.style.display="none"; ?} ????????????} ????????????document.onclick=function(){ ????????????????menu.style.display="none"; ?} ????????} ????</script> </head> <body> <div?id="divselect"> ????<cite>請選擇分類</cite> ????<ul> ????????<li?id="li"><a?href="javascript:;"?selectid="1">ASP開發(fā)</a></li> ????????<li><a?href="javascript:;"?selectid="2">.NET開發(fā)</a></li> ????????<li><a?href="javascript:;"?selectid="3">PHP開發(fā)</a></li> ????????<li><a?href="javascript:;"?selectid="4">Javascript開發(fā)</a></li> ????????<li><a?href="javascript:;"?selectid="5">Java特效</a></li> ????</ul> </div> </body> </html>
三角形圖片鏈接問題沒有去管,所以沒有倒三角形。
發(fā)現(xiàn)的BUG:但方向上下鍵的函數(shù)和onmouseover&onmouseout的函數(shù)同時被調(diào)用的時候,有可能會出現(xiàn)兩個灰色背景的<li>標(biāo)簽,怎么弄???
2015-12-28
為onmouseover事件(即第112行)添加以下代碼:
在每次鼠標(biāo)懸浮時清除按鍵盤導(dǎo)致的背景色。