課程
/前端開發
/JavaScript
/DOM事件探秘
DEMO----------有問題請指出
2015-06-09
源自:DOM事件探秘 5-1
正在回答
代碼截錯了,再來一遍
<!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;}? </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;? ???? // 點擊三角時????? title.onclick=function(event){?????? ???????? menu.style.display="block";??????? event.stopPropagation();??????? for(var j=0;j<menu_li.length;j++){????????? menu_li[j].style.backgroundColor = "#fff";??????? }????? } ????? document.onkeyup=function(event){??????? if(event.keyCode==38){????????? index--;????????? if(index<0){??????????? index=menu_li.length;????????? }????????? for(var j=0;j<menu_li.length;j++){??????????? menu_li[j].style.backgroundColor = "#fff";????????? }????????? menu_li[index].style.backgroundColor = "#ddd";??????? }??????? else if(event.keyCode==40){????????? index++;????????? if(index>=menu_li.length){??????????? index = 0;????????? }????????? for(var j=0;j<menu_li.length;j++){??????????? menu_li[j].style.backgroundColor = "#fff";????????? }????????? menu_li[index].style.backgroundColor = "#ddd";??????? }??????? else if(event.keyCode==13){????????? var a = menu_li[index].getElementsByTagName("a")????????? title.innerHTML=a[0].innerHTML;????????? menu.style.display="none";???????? ???????? }????? }?? // 滑過滑過、離開、點擊每個選項時????? // 執行腳本????? var menu_li;????? var i;????? menu_li = menu.getElementsByTagName("li");????? for(i=0;i<menu_li.length;i++){ ????????? menu_li[i].index = i;????????? menu_li[i].onmouseover=function(){???????????? for(var j=0;j<menu_li.length;j++){????????????????? menu_li[j].style.backgroundColor = "#fff";??????????????? }??????????? this.style.backgroundColor = "#ddd";??????????? index = this.index;????????? }????????? menu_li[i].onmouseleave=function(){??????????? this.style.backgroundColor = "#fff";??????????? index = this.index;????????? }????????? menu_li[i].onclick=function(){??????????? var a = menu_li[index].getElementsByTagName("a")??????????? title.innerHTML=a[0].innerHTML;??????????? menu.style.display="none";???????? ?????????? }????? }?? }?? </script></head><body>? <div id="divselect">????? <cite>請選擇分類</cite>????? <ul>???????? <li id="li"><a href="javascript:;" selectid="1">ASP開發</a></li>???????? <li><a href="javascript:;" selectid="2">.NET開發</a></li>???????? <li><a href="javascript:;" selectid="3">PHP開發</a></li>???????? <li><a href="javascript:;" selectid="4">Javascript開發</a></li>???????? <li><a href="javascript:;" selectid="5">Java特效</a></li>????? </ul>??? </div></body></html>
舉報
DOM事件?本課程會通過實例來給小伙伴們講解如何使用這些事件
1 回答DEMO,供大家交流,請指教
2 回答IE中this指向問題
3 回答求大神指導!就是鍵盤事件那邊有問題,求大神指導??!
2 回答求大神指導?。?!鍵盤事件一直沒用,不知道哪里出問題了?。?!
3 回答運行沒有效果,提問代碼哪里出了問題?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-06-09
代碼截錯了,再來一遍
<!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;}
? </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;
? ?
??? // 點擊三角時
????? title.onclick=function(event){
?????? ?
??????? menu.style.display="block";
??????? event.stopPropagation();
??????? for(var j=0;j<menu_li.length;j++){
????????? menu_li[j].style.backgroundColor = "#fff";
??????? }
????? }
????? document.onkeyup=function(event){
??????? if(event.keyCode==38){
????????? index--;
????????? if(index<0){
??????????? index=menu_li.length;
????????? }
????????? for(var j=0;j<menu_li.length;j++){
??????????? menu_li[j].style.backgroundColor = "#fff";
????????? }
????????? menu_li[index].style.backgroundColor = "#ddd";
??????? }
??????? else if(event.keyCode==40){
????????? index++;
????????? if(index>=menu_li.length){
??????????? index = 0;
????????? }
????????? for(var j=0;j<menu_li.length;j++){
??????????? menu_li[j].style.backgroundColor = "#fff";
????????? }
????????? menu_li[index].style.backgroundColor = "#ddd";
??????? }
??????? else if(event.keyCode==13){
????????? var a = menu_li[index].getElementsByTagName("a")
????????? title.innerHTML=a[0].innerHTML;
????????? menu.style.display="none";
???????? ?
??????? }
????? }
?? // 滑過滑過、離開、點擊每個選項時
????? // 執行腳本
????? var menu_li;
????? var i;
????? menu_li = menu.getElementsByTagName("li");
????? for(i=0;i<menu_li.length;i++){
????????? menu_li[i].index = i;
????????? menu_li[i].onmouseover=function(){
???????????? for(var j=0;j<menu_li.length;j++){
????????????????? menu_li[j].style.backgroundColor = "#fff";
??????????????? }
??????????? this.style.backgroundColor = "#ddd";
??????????? index = this.index;
????????? }
????????? menu_li[i].onmouseleave=function(){
??????????? this.style.backgroundColor = "#fff";
??????????? index = this.index;
????????? }
????????? menu_li[i].onclick=function(){
??????????? var a = menu_li[index].getElementsByTagName("a")
??????????? title.innerHTML=a[0].innerHTML;
??????????? menu.style.display="none";
???????? ?
????????? }
????? }
?? }
?? </script>
</head>
<body>
? <div id="divselect">
????? <cite>請選擇分類</cite>
????? <ul>
???????? <li id="li"><a href="javascript:;" selectid="1">ASP開發</a></li>
???????? <li><a href="javascript:;" selectid="2">.NET開發</a></li>
???????? <li><a href="javascript:;" selectid="3">PHP開發</a></li>
???????? <li><a href="javascript:;" selectid="4">Javascript開發</a></li>
???????? <li><a href="javascript:;" selectid="5">Java特效</a></li>
????? </ul>
??? </div>
</body>
</html>