`
cscoder
  • 浏览: 15909 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

js下拉菜单(鼠标+键盘双操作)

 
阅读更多
<!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;
   
    // 点击三角时
    title.onclick=function(event){
      // 执行脚本
      event=event||window.event;
      stopPropagation(event);
      if(menu.style.display!='block')
        menu.style.display='block';
      else
        menu.style.display='none';
    }  
    document.onkeyup=function(event){
        event=event||window.event;
        if(menu.style.display=='block')
          if(event.keyCode==38){
              if(index>0){
                  as[index].style.background='#FFF';
                  index--;
                  as[index].style.background='#999';
              }
          }
          else if (event.keyCode==40){
            if(index<4){
              if(index>=0)
                as[index].style.background='#FFF';
              index++;
              as[index].style.background='#999';
            }
          }
    }
     
        
   // 滑过滑过、离开、点击每个选项时
      // 执行脚本
       for(var i=0;i<5;i++)
        as[i].onmouseover=function(){
          this.style.background='#999';
        }
       for(var i=0;i<5;i++)
        as[i].onmouseout=function(){
          this.style.background='#FFF';
        }
        for(var i=0;i<5;i++)
        as[i].onclick=function(event){
          event=event||window.event;
          stopPropagation(event);
          menu.style.display='none';
          title.innerHTML=this.innerHTML;
        }
   // 点击页面空白处时
   
       // 执行脚本
       document.onclick=function(){
          menu.style.display='none';
       }
      function stopPropagation(event){
        event=event||window.event;
        if(event.stopPropagation)
          event.stopPropagation();
        else
          event.cancelBubble=true;

      }
 }
   </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>

分享到:
评论

相关推荐

    经典下拉菜单js+css

    "经典下拉菜单js+css"是网页开发中的一个经典实践,它结合了JavaScript(js)的动态功能和CSS(层叠样式表)的样式控制,实现了类似Flash的动态效果,但比Flash更轻量级、更具兼容性。在这个项目中,我们可能会遇到...

    javascript 下拉菜单(各种各样的)

    以下是关于JavaScript下拉菜单的一些关键知识点: 1. HTML结构:下拉菜单的基础结构通常由`&lt;select&gt;`标签构建,其中包含一系列`&lt;option&gt;`标签来定义菜单项。然而,为了实现更复杂的交互和自定义样式,开发者通常会...

    下拉菜单集合(二级、三级下拉菜单)

    为了增加动态效果和交互性,JavaScript(或jQuery等库)常被用来处理下拉菜单的打开和关闭事件。例如,监听`click`或`mouseover`事件,根据事件类型来显示或隐藏菜单。还可以添加其他功能,如禁用某些选项、跟踪用户...

    几十种JS下拉菜单打包

    - **无障碍性**:考虑键盘导航和辅助技术的兼容性,使下拉菜单对所有用户友好。 在“JS_menu”压缩包中,你可以找到上述各种实现方式的具体代码,通过学习和实践,提升你的前端技能。记得每个示例都有其特点和适用...

    19个js下拉菜单效果

    2. 动态显示与隐藏:通过js,我们可以监听元素的鼠标事件,当鼠标进入或离开下拉菜单时,控制下拉列表的显示和隐藏。这通常涉及到DOM操作,如`addEventListener`、`style.display`等。 3. 菜单项动画:为了提升用户...

    下拉导航菜单+垂直显示二级自菜单

    总的来说,这个下拉导航菜单+垂直显示二级子菜单的效果,结合了HTML的静态结构、CSS的样式控制以及JavaScript的动态交互,为用户提供了一个直观且易于操作的界面。这种设计广泛应用于各种类型的网站,尤其对于有层次...

    javascript实现下拉菜单

    本文将详细讲解如何使用JavaScript和jQuery来实现一个带有缓慢弹出特效的下拉菜单。 首先,我们需要了解JavaScript和jQuery的基础。JavaScript是浏览器端的脚本语言,用于增强网页的交互性,而jQuery是一个...

    JS模拟select下拉菜单

    然而,有时为了实现更复杂的功能或者更好的视觉效果,开发者可能会选择使用JavaScript来模拟`&lt;select&gt;`下拉菜单。这种方法可以提供更多的自定义选项,如动画效果、多级下拉、异步加载等。 ### 1. 常规...

    采用CSS和JS的下拉菜单.rar

    在"采用CSS和JS的下拉菜单"这个示例中,你将学习到如何编写CSS选择器来选中正确的元素,如何设置样式规则,以及如何使用JavaScript事件监听和响应用户操作。通过结合CSS和JS,你可以创建一个功能齐全、用户友好的...

    19款比较酷的js下拉菜单效果

    JS(JavaScript)作为一种强大的客户端脚本语言,被广泛用于实现动态和交互性的下拉菜单效果。以下是对“19款比较酷的js下拉菜单效果”这一主题的详细解析: 1. **响应式设计**:现代网页设计强调响应式,这些js...

    多样式JavaScript下拉菜单

    JavaScript下拉菜单是一种常见的网页交互元素,用于在有限的空间内展示丰富的导航选项。在网页设计中,下拉菜单能够有效地组织和展示大量的链接,提高用户体验,尤其在移动设备上节省屏幕空间。本教程将深入探讨多样...

    js实现类似动画效果的下拉菜单

    本文将详细讲解如何使用JavaScript(JS)来实现一个具有动画效果的下拉菜单,让用户体验更加流畅和有趣。 首先,我们需要创建HTML结构。一个基本的下拉菜单通常由一个主菜单项和与其关联的子菜单组成。例如: ```...

    我用过最好用的JS下拉菜单代码

    在JavaScript(JS)中实现下拉菜单可以带来更丰富的动态效果和自定义选项。"我用过最好用的JS下拉菜单代码"这个资源显然提供了这样一种高效的解决方案。下面将详细探讨JS下拉菜单的实现原理、常见特性以及如何进行...

    javascript弹出式下拉菜单

    在实际应用中,JavaScript下拉菜单可以具有多种功能,如无限级嵌套、动态加载内容、键盘导航等。这些特性使得JavaScript下拉菜单成为网页开发者的重要工具,尤其是在创建复杂的交互式网站时。 总结来说,...

    superfish_1.4.8_能挡住下拉表单的CSS+JS下拉菜单.rar

    - **js** 文件夹:包含JavaScript库,如`superfish.js`,是实现下拉菜单功能的主要脚本。 **使用步骤:** 1. **引入依赖**:在HTML文件中链接`superfish.js`和其依赖的jQuery库。 2. **CSS配置**:将`superfish....

    DIV+CSS下拉菜单,适合参考学习

    当用户将鼠标悬停在父级菜单项上时,通过JavaScript或CSS伪类(如`:hover`)改变`display`属性值为`block`或`inline-block`,使得下拉菜单可见。 3. **CSS伪类**:`:hover`是CSS中的一个伪类,用于定义元素在鼠标...

    mootools版无限级纵向下拉菜单

    **JavaScript 下拉菜单详解——基于MooTools框架** 在网页设计中,下拉菜单是一种常见的交互元素,它能够有效地组织和展示大量的导航链接,尤其是在有限的空间内。MooTools是一款强大的JavaScript库,提供了丰富的...

    20多款比较酷的js下拉菜单效果

    在下拉菜单的设计中,js可以实现实时响应用户操作,如鼠标悬停、点击等事件,使得菜单的展开和收起更加流畅自然。通过动态改变CSS样式或DOM结构,js能够创建各种创新的动画效果,增强视觉吸引力。 下拉菜单的设计...

    javascript\下拉菜单

    JavaScript 下拉菜单是一种常见的网页交互元素,用于在有限的空间内展示多级导航选项。在网页设计中,下拉菜单能够帮助用户更有效地浏览和选择不同的功能或内容,尤其是在移动设备上,节省屏幕空间显得尤为重要。...

    Web弹出下拉菜单

    - 当用户鼠标悬停在主菜单项上时,通过JavaScript来改变下拉菜单的`display`属性,使其可见。这可以通过监听`mouseover`和`mouseout`事件来实现。另外,为了防止鼠标快速移动导致下拉菜单频繁开关,可以设置一个...

Global site tag (gtag.js) - Google Analytics