为了账号安全,请及时绑定邮箱和手机立即绑定

我写完代码后为什么我点击完一个就消失一个啊

<!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;
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;
   
    // 点击三角时
    title.onclick=function(event)
{
      // 执行脚本
     event = event || window.event;
     if(event.stopProgation)
     {
         event.stopProgation();
         }
     else{
         event.cancelBubble = true;
         }
     menu.style.display = "block";
     document.keyUp = function(e)
     {
         e = e || window.event;
         for(var i=0;i<as.length;i++)
         {
             as[i].style.background = "none";
         }
             if(e.keyCode==40)
             {
                 index++;
                 if(index>=as.length)
                  {
                     index==0;
                  }
                     as[index].style.background ="#ccc";
             }
             if(e.keyCode==38)
             {
                 if(index<=0)
                 {
                     index==as.length;
                 }
                     index--;
             }
                  as[index].style.background ="#ccc";
     }
        if(e.keyCode==13 && index != -1)
        {
            title.innerHTML=as[index].innerHTML;
            for(var i=0;i<as.length;i++)
            {
                as[i].style.background = "none";
            }
            menu.style.display = "none";
            index = -1;
        }
}  
    
   // 滑过滑过、离开、点击每个选项时
      // 执行脚本
      for(var i=0;i<as.length;i++)
      {
         as[i].onmouseover = function(){
             this.style.background='#ccc';
             }
         as[i].onmouseout = function(){
             this.style.display = "none";
             }
         as[i].onclick = function(){
             title.innerHTML = this.innerHTML;
             }
      }

   // 点击页面空白处时
       // 执行脚本
       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开发</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>

正在回答

1 回答

有几个地方有明显错误:1.首先停止冒泡stopPropagation你写成了stopProgation;2.你下面这段代码应该是鼠标离开a标签后背景色变回白色,你写成了display =“none”即是消失,所以你鼠标划过一个消失一个。

as[i].onmouseout = function(){
             this.style.display = "none";
             }


1 回复 有任何疑惑可以回复我~
#1

祈祈祈祈祷 提问者

谢谢大神
2016-08-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我写完代码后为什么我点击完一个就消失一个啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信