<!doctype?html>
<html>
<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;?}
#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;}
.upicon{float:right;margin-right:-24px;}
????</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');
???
????//?點(diǎn)擊三角時(shí)
????title.onclick=function(event){
??????//?執(zhí)行腳本
???????event=event||window.event;
???????if(event.stopPropagation){
???????????event.stopPropagation();
???????}
???????else{
???????????event.cancelBubble=true;
???????}
????????menu.style.display="block";
????}
????
???//?鍵盤(pán)上下移動(dòng),回車(chē)設(shè)置標(biāo)題
???var?index=-1;
???document.onkeyup=function(event){
???????for(i=0;i<as.length;i++){
???????????as[i].style.background="";
??????????}
???????if(event.keyCode==40){
???????????index<as.length-1???index++?:?index=0;
???????????as[index].style.background="#ddd";
???????}
???????else?if(event.keyCode==38){
???????????index<=0???index=as.length-1?:?index--;
???????????as[index].style.background="#ddd";
???????}
???????else?if(event.keyCode==13){
??????????index>=0???hiddenMenu(index)?:?menu.style.display="none";
???????}
???}
???//鼠標(biāo)滑過(guò)、離開(kāi)、點(diǎn)擊
???for(i=index+1;i<as.length;i++){
???????as[i].style.background="";
???????as[i].bindex=i;
???????as[i].onmouseover=function(){
???????????moveonLi(this);
???????????index=this.bindex;
???????}
???????as[i].onclick=function(){
???????????hiddenMenu(this.bindex);
???????}
??????????
???}
??????//?定義隱藏列表并設(shè)置標(biāo)題事件
??????function?hiddenMenu(aindex){
??????????menu.style.display="none";?
??????????title.innerHTML=as[aindex].innerHTML+'<i?class="upicon">▼</i>';
??????}
??????//?定義選中對(duì)應(yīng)選項(xiàng)事件
??????function?moveonLi(e){
??????????for(i=0;i<as.length;i++){
???????????as[i].style.background="";
??????????}
??????????e.style.background="#ddd";
??????????}
???//?點(diǎn)擊頁(yè)面空白處時(shí)
???document.onclick=function(){
???????menu.style.display="none";
???}
?}
???</script>
</head>
<body>
????<div?id="divselect">
??????<cite>請(qǐng)選擇分類(lèi)<i?class="upicon">▼</i></cite>
??????<ul>
?????????<li?id="li"><a?href="javascript:;"?selectid="1">ASP開(kāi)發(fā)</a></li>
?????????<li><a?href="javascript:;"?selectid="2">.NET開(kāi)發(fā)</a></li>
?????????<li><a?href="javascript:;"?selectid="3">PHP開(kāi)發(fā)</a></li>
?????????<li><a?href="javascript:;"?selectid="4">Javascript開(kāi)發(fā)</a></li>
?????????<li><a?href="javascript:;"?selectid="5">Java特效</a></li>
??????</ul>
????</div>
</body>
</html>
2018-07-05
我也這樣,看了別人的代碼,發(fā)現(xiàn)要阻止事件冒泡??;試了一下,確實(shí)可以
2018-05-30
也不懂