在没有javascript的情况下显示悬停子菜单

Displaying submenus on hover without javascript

本文关键字:显示 悬停 菜单 情况下 javascript      更新时间:2023-09-26

我有一个网页,使用jquery显示子菜单div,而用户是悬停在主父菜单的a:链接。

$('.menu ul li').hover(function() { 
    $(this).find('.dropnav').stop(true, true).fadeTo('fast', 1); 
}, function() { 
    $(this).find('.dropnav').stop(true, true).fadeOut(800, 0); 
});

问题是,我希望这个网页的导航功能是独立的javascript。因此,当用户没有启用javascript时,菜单仍然会显示-只是没有滚动或淡出的效果。

谢谢。

使用:hover CSS伪类

.menu ul li:hover .dropnav {
    opacity: 1;
    /* display: block; ? */
}

这是一个非常可靠的基于CSS的菜单示例。如果你想向后兼容IE6,可以使用JavaScript。

http://qrayg.com/learn/code/cssmenus/

HTML

<ul class="main-nav">
      <li><a href="#">main nav-1</a>        
      </li>
      <li><a href="#">main nav-2</a>       
          <ul class="sub-nav">
            <li><a href="#">sub-nav-2.1</a></li>
            <li><a href="#">sub-nav-2.2</a></li>
            <li><a href="#">sub-nav-2.3</a></li>
          </ul>
        </div>
      </li>
     <li><a href="#">main nav-3</a>
     <li><a href="#">main nav-4</a>   
    </ul>
css

ul.main-nav > li { position: relative; display: block; float: left;  margin: 0 15px;}
ul.main-nav > li > a {display: block; line-height: 40px; }
ul.sub-nav { display:none; position: absolute; top: 40px; left: 0; min-width: 200px;}
ul.main-nav > li:hover ul.sub-nav { display: block; z-index: 999; }

检查这个实时演示http://jsfiddle.net/q9YZf/