网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

jquery之二级导航栏中mouseleave与mouseout的应用

今天无聊写了个二级导航栏,发现了一个以前根本没注意的问题,那就是mouseleave的事件。故记录在此,菜鸟飘过。

创新互联长期为1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为文安企业提供专业的成都网站设计、成都做网站、外贸网站建设文安网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。

二级导航栏的功能无非就是鼠标至于某标题上时,显示其若干子标题,离开某标题至于另外一标题时,显示对应的子标题并隐藏其他的子标题。还有,就是鼠标离开所有的标题或子标题时,应隐藏所有的子标题。

一开始便全用mouseover和mouseout事件处理,但发现鼠标离开所有的标题或子标题时,最后一次显示出的子标题没有被隐藏。body代码如下:

[html] view plaincopy

  1.   

  2.   main

  3.   

  4.   

  5.   

  6.   Autobots

  7.   

  8.   Optimus Prime

  9.   

  10.   Bumble Bee

  11.   

  12.   Ironhide

  13.   

  14.   Jazz

  15.   

  16.   

  17.   

  18.   Decepticons

  19.   

  20.   Megatron

  21.   

  22.   Shockwave

  23.   

  24.   Soundwave

  25.   

  26.   Starscream

  27.   

  28.   


CSS如下:

[css] view plaincopy

  1. .ul_list{  

  2.     width:200px;  

  3.     float:left;  

  4.     text-align:center;  

  5.     padding:0;  

  6.     position:relative;}  

  7. .li_list{  

  8.     list-style:none;  

  9.     text-align:center;  

  10.     background:#CCC;  

  11.     height:40px;  

  12.     line-height:40px;  

  13.     font-size:18px;  

  14.     font-family:黑体;  

  15.     color:#000000;  

  16.     cursor:pointer;  

  17.     position:relative;}  

  18. .sub_li{  

  19.     list-style:none;  

  20.     text-align:center;  

  21.     background:#CCC;  

  22.     height:40px;  

  23.     line-height:40px;  

  24.     font-size:18px;  

  25.     font-family:黑体;  

  26.     color:#000000;  

  27.     display:none;  

  28.     cursor:pointer;  

  29.     position:relative;}  


JS如下:

[javascript] view plaincopy

  1. $(document).ready(function(e) {  

  2.         $(".li_list").mouseover(function(){  

  3.             $(this).siblings(".sub_li").show("slow");  

  4.             $(this).parent(".ul_list").siblings(".ul_list").children(".sub_li").hide("slow");     

  5.         });  

  6.         $(".ul_list").mouseout(function(){  

  7.             $(this).children(".sub_li").hide("slow");  

  8.         });  

  9.         $(".sub_li").mouseover(function(){  

  10.             $(this).css({"border-top":"1px #FFFFFF solid",  

  11.                         "border-bottom":"1px #FFFFFF solid"});    

  12.         });  

  13.         $(".sub_li").mouseout(function(){  

  14.             $(this).css("border", "none");    

  15.         });  

  16.     });  


试了一些方法也不行,后来把上述第二项的mouseout事件改为mouseleave则可以,查了资料,mouseout是不论鼠标指针离开被选元素或其子元素,都被触发;而mouseleave是只有在鼠标指针离开被选元素时,才触发。


文章名称:jquery之二级导航栏中mouseleave与mouseout的应用
文章源于:http://bjjierui.cn/article/popcsg.html

其他资讯