欢迎到访爱收集博客,喜欢就Ctrl+D收藏吧!

点击登录
  • 欢迎访问网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站

jQuery–mouseover,mouseout闪烁问题

记录 qaqcn 46次浏览 0个评论

当鼠标移动到DIV中的child子元素的时候,就会同时执行了两个操作mouseover和mouseout。

方法1:
延迟执行(setTimeout)、取消延迟(clearTimeout),就是当mouseout的时候延迟执行,而在mouseover的时候取消延迟执行。当鼠标在DIV上边移动的时候因为延迟的执行所以mouseout一直都不会被触发。

$('div').mouseout(function(){
     clearTimeout(t);
      t=setTimeout(zoomIn,400);
    }).mouseover(function(){
   if(t!=null)clearTimeout(t);
   t=null;
  }
);

方法2mouseenter和mouseleave事件IE特有的函数,使用jquery就很好的解决了兼容问题。函数的原理当第一次鼠标进入节点区域时触发,以后在节点区域内(子节点间)移动时不触发。


$('div').bind({
mouseenter:function(){
// do something on mouseenter
},
mouseleave:function(){
// do something on mouseleaver
}
})


爱收集 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明jQuery–mouseover,mouseout闪烁问题
喜欢 (0)
支付宝[]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址