利用JQuery实现 当鼠标移到一级菜单上时, 当一级菜单有子菜单的时候 则下拉显示,
现在出现两个问题,
第一个问题是: 当鼠标移到一级菜单上时, 所有的包含有子菜单的层全都显示出来了 求如何解决.
第二个问题是: 当鼠标快速滑过一级菜单,再把鼠标移到其他地方时, 子菜单层不断的显示关闭, 求如何解决.
JQ效果实现代码如下:
jQuery(document).ready(function ($){
$(".subCategory").hide();
$(".menu").hover (
function(){$(".subCategory").slideDown();},
function(){$(".subCategory").fadeOut();}
);
});
HTML结构代码如下:
<div id="navBox">
<ul id="nav">
<li class="menu">一级菜单 没有子分类</li>
<li class="menu">一级菜单 有子分类
<ul class="subCategory">
<li class="subMenu">二级菜单项目</li>
<li class="subMenu">二级菜单项目</li>
<li class="subMenu">二级菜单项目</li>
</ul>
</li>
<li class="menu">一级菜单 没有子分类</li>
<li class="menu">一级菜单 有子分类
<ul class="subCategory">
<li class="subMenu">二级菜单项目</li>
<li class="subMenu">二级菜单项目</li>
<li class="subMenu">二级菜单项目</li>
</ul>
</li>
<li class="menu">一级菜单 没有子分类</li>
</ul>
</div>
CSS部分代码如下:
#nav{list-style:none;}
.menu{float:left; padding:5px; border:1px solid #ccc; background: #eaeaea; margin:0 5px;}
完整代码因字符超限 打包在微云下载:
http://share.weiyun.com/77e2ef23df2452237769c41a441e8e6c
你好!
第一个问题解决思路:每个一级菜单设置hover事件没有问题,但是你的代码中显示的二级菜单却成为了全局所有的了,所以需要修改为当前一级菜单下面的$(".subCategory")元素,即 $(一级菜单).find(".subCategory")--->>> 这样才会显示为当前一级菜单下的二级菜单。
第二个问题解决思路:由于hover事件中的动画效果没有得到有效的终止,所以在函数队列中会按顺序执行它们,使用stop函数能够有效的终止它们,并直接返回最后的执行结果。
详见附件吧~
修改这段代码
jQuery(document).ready(function ($){绑定事件的时候要找到当前触发事件的对象才行
JQuery 鼠标移到一个层上显示另一个层问题
你好!第一个问题解决思路:每个一级菜单设置hover事件没有问题,但是你的代码中显示的二级菜单却成为了全局所有的了,所以需要修改为当前一级菜单下面的$(".subCategory")元素,即 $(一级菜单).find(".subCategory")--->>> 这样才会显示为当前一级菜单下的二级菜单。第二个问题解决思路:由于hover...
jquery 做一个 鼠标移动table上的tr的时候,在鼠标旁边弹出一个div提 ...
先定义一个DIV,把你要提示的内容,放到这个DIV中 向上增加一行 修改此行 向下增加一行 代码:("table tr").mouseover(function(){ ("#divInfo").css("z-index",999);\/\/让层浮动 ("#divInfo").css("top",this.top+行高);\/\/设置提示div的位置 ("#divInfo").css("left",11);("#...
鼠标移动到一个元素上,会触发该元素的一个世界,jquery中表示该事件...
\/\/如果移动到按钮上面再点击一下在移出按钮范围的话,事件触发顺序为 mouseover->mousemove->mousedown(可能会有mousemove)->mouseup->click->mousemove->mouseout \/\/mousemove事件是mouse鼠标只要在按钮上面移动,就会触发的事件。所以在上面的过程中,就算是鼠标按下了之后有鼠标的移动也会触发mousemove Jqu...
如何用jquery完成:当鼠标移到表格某一个tr时,该tr中隐藏的div可见,当...
试一下这个吧 (function(){ $("#tabQuestion2 tr").mouseenter(function(){ $(this).find("div").show(500); }); $("#tabQuestion2 tr").mouseleave(function(){ $(this).find("div").hide(500); }); });...
JQUERY多个DIV鼠标移入移出显示隐藏对应DIV
实现这种功能的jquery是相当简单的,list元素鼠标移入,当前元素里的 span显示;移出则相反,具体代码如下:(function(){\/\/鼠标移入$('.list').mouseenter(function(){\/\/这里使用mouseover也可以,使用mouseenter是防止冒泡(this).find('span').show();\/\/这里的show可以改成animate,toggle都可以});\/...
...或者PHP如何实现鼠标放在图片上就弹出另一个程序,鼠标离开时程序隐藏...
首先这个和pHP关系不大 为了兼容性建议你采用jquery 比如你现在有n张图片,我写一个片段: 那么事件触发对象就是$('#img_list ul li img')就是把id=img_list 下面ul和li节点下所有的img搜索出来。jquery下hover()是一个很强大的事件方法,支持over和out ("#img_list ul li img").hover(...
jquery的问题,为什么会弹出两次,我只要一次
jquery的hover:当鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数。当鼠标移出这个元素时,会触发指定的第二个函数 所以会执行两次,建议用mouseover,我测了正常
jquery语言 鼠标点左面图片上的热区 就在右边分别显示不同的文字...
例如 图片的高度为0-10px的部分显示第一个标题 以此类推 如果你要显示11份 那就获得你图片的高度 然后除以11 得到一个值 然后给这张图片注册个鼠标移上事件 然后判断你鼠标所在图片的位置 就可以显示对应的文字了 不懂可以继续问。。
CSS下鼠标悬停在一个DIV时显示另外一个DIV,为何显示不出来?
首先从代码上来讲,你最后的样式写法有错误,应该是#sec:hover #third{}这样才对。其次如果是用css来实施,#third必须是#sec的子孙元素,要不然是不能够成功的。你看最后一个的写法就代表了#third必然是#sec的子孙元素。当然了,这种写法浏览器兼容性不是很好,IE就不要指望了,尤其版本之间差异还蛮...
jQuery hover() 一个标签 显示层b,但是鼠标移动到层b的位置,层b就不见...
直接在 onmouseover 方法内写就可以。在 a 的 onmouseover 方法里写显示b 在 b 的 onmouseover 方法里写隐藏b