介绍一个下拉菜单插件,名为Sexy Drop Down Menu。
不过由于此下拉菜单是在每个一级菜单的<li></li>之间插入了一个<span></span>,然后插入一个向下的箭头,点击箭头之后显示菜单。
如下图:
jquery 下拉菜单插件的演示地址:www.sohtanaka.com/web-design/examples/drop-down-menu/。
不过,很多时候,需要在鼠标滑过一级菜单的时候就显示他的二级菜单,因此要进行下改造。
将JS代码改为如下内容即可:
$(document).ready(function(){ $("ul.topnav li").hover(function() { $(this).find("ul.subnav").slideDown('fast').show(); $(this).addClass("subhover"); },function(){ $(this).find("ul.subnav").slideUp('slow'); $(this).removeClass("subhover"); }); });
修改完之后浏览效果,发现一个问题,就是鼠标不停的在两个下拉菜单之间移动,鼠标在两个下拉菜单之间不停的来回移动,当停止移动鼠标时,两个下拉菜单不停的上下移动。
利用JQuery提供的stop()方法,可以轻松解决这个问题,修改后的代码如下:
$(document).ready(function(){ $("ul.topnav li").hover(function() { $(".subnav").stop(false,true); $(this).find("ul.subnav").slideDown('fast').show(); $(this).addClass("subhover"); },function(){ $(this).find("ul.subnav").slideUp('slow'); $(this).removeClass("subhover"); }); });