<div id="a1" style="width:100px;height:100px;background:#000;">
<div id="a2" style="width:100px;height:40px;margin-top:30px;"></div>
</div>
我想要的效果是当鼠标移动到a1上时 a1变30%透明
离开a1时 a1变回不透明
为什么在jquery判断鼠标经过的时候在经过a2的边框时 会判断鼠标离开了a1呢
如何能在经过a2边框时,不判断鼠标离开a1呢?
之前用的是mouseover 和mouseout,用了mouseenter和mouseleaver也不行
追答把你的效果 代码 弄上来把看看 一般这种情况mouseleave就可以了
我刚试了下 一点问题都没有 你看看 这代码
sdfsdfsdfd
dfsdfsdfsd
(function(){
$('#av1').mouseleave(function(){
alert("出去了");
});
$('#av1').mouseenter(function(){
alert("进来了");
});
})();
我明白你要做的效果了 就是鼠标放上去 颜色加深 其他地方变浅 是吧
比如你写的这个 如果里面的av2 的框架大小小于av1 经过av2边框时会发生一次鼠标离开事件···
追答不会啊 你看在给你发个代码
sdfsdfsdfd
dfsdfsdfsd
这里 av2 比 av1小了很多 鼠标进过av2的边框时没有出发鼠标离开事件 你自己试试
(function(){
$('#av1').mouseleave(function(){
alert("出去了");
});
$('#av1').mouseenter(function(){
alert("进来了");
});
})();
用mouseover 和mouseout组合 会出现你说的那种情况
mouseenter和mouseleaver这套组合 是没问题的
如果鼠标指针离开任何子元素,同样会触发 mouseout 事件。都改成用mouseleaver绑鼠标离开事件 不要在用mouseout
我把代码给你,你看下,151。392。0498 扣号
本回答被提问者采纳