jQuery技术

JQuery特效——下拉菜单

字号+ 作者:H5之家 来源:H5之家 2016-06-30 18:03 我要评论( )

本文介绍一个下拉菜单,这个下拉菜单插件,是由国外的高手制作,名为Sexy Drop Down Menu,由于要点击才能显示二级菜单,那么如果需要鼠标移到一级菜单时就显示

本文介绍一个下拉菜单,这个下拉菜单插件,是由国外的高手制作,名为Sexy Drop Down Menu ,搜索引擎上一搜一大把源码可以下载,但是由于这个下拉菜单是在每个一级菜单的<li></li>之间插入了一个<span></span>,然后插入一个向下的箭头,点击箭头之后显示菜单。如图:

 

这里给出DEMO地址:,但是由于很多情况下,我们需要在鼠标滑过一级菜单的时候就显示他的二级菜单,所以要进行下改造。很简单,将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()方法,用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"); }); });

现在再浏览,毫无问题。。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • jQuery+PHP+Mysql实现输入自动完成提示的功能

    jQuery+PHP+Mysql实现输入自动完成提示的功能

    2016-07-01 10:00

  • 精通Javascript+jQuery视频教程在线观看

    精通Javascript+jQuery视频教程在线观看

    2016-06-27 13:06

  • jquery移除

    jquery移除

    2016-06-19 18:00

  • jquery如何判断某元素是否具备指定的样式

    jquery如何判断某元素是否具备指定的样式

    2016-06-19 18:00

网友点评