jQuery mouseover与mouseenter的区别

在我们的页面中经常会用到mouseover与mouseout事件来给页面添加更好的渲染效果,但如果触发mouseover事件的元素有子元素的话,会造成闪烁的效果,看着很不舒服,这是因为mouseover与mouseout不论鼠标指针穿过被选元素或其子元素,都会触发。而mouseenter与mouseleave只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。

 1 <ul class="con-ul">
 2     <li>
 3         <div class="con-one">
 4             <div class="con-oneimg">
 5                 <img src="http://image123465.cn">
 6             <div class="dask" style="display: block; opacity: 0;"></div>
 7             <div class="input" style="display: block; opacity: 0;">
 8                 <input type="button" class="inp inp-one" value="预览">
 9                 <input type="button" class="inp inp-two" value="使用">
10             </div>
11             </div>
12         <hr style="border-top:1px solid #b5b5b5;">
13         <p>study</p>
14         </div>
15     </li>
16 </ul>
 1 //1
 2 $(".con-ul").on({
 3         mouseenter: function() {
 4             $(this).find(".dask").stop(true,true).fadeIn(600);
 5             $(this).find(".input").stop(true,true).fadeIn(600);
 6         },
 7         mouseleave: function() {
 8             $(this).find(".dask").stop(true,true).fadeOut(300);
 9             $(this).find(".input").stop(true,true).fadeOut(300);
10         }
11     }, ".con-oneimg");
12 
13 //2
14 $(".con-ul").on({
15         mouseover: function() {
16             $(this).find(".dask").stop(true,true).fadeIn(600);
17             $(this).find(".input").stop(true,true).fadeIn(600);
18         },
19         mouseout: function() {
20             $(this).find(".dask").stop(true,true).fadeOut(300);
21             $(this).find(".input").stop(true,true).fadeOut(300);
22         }
23     }, ".con-oneimg");

 

转载于:https://www.cnblogs.com/dengmj/p/4913996.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值