Html代码
<div id="a"></div> <div id="b"></div> <div id="Box"></div>
如何检查鼠标是否未结束#a& #b然后运行该函数
$("#a").mouseleave(function () { $("#Box").fadeOut(800)); });
解决方法
你需要保持鼠标是在A还是B中的“缓存”,最后你需要检查两者是否处于“out”状态,然后运行你的fadeOut函数.一句警告,允许用户几毫秒从一个过渡到下一个,否则你会发现它没有按预期工作.
这段代码应该这样做,这里有一个实例:http://jsfiddle.net/jzCjD/
var inArr = {a:false,b:false}; $('#a,#b').mouSEOver(function(){ inArr [$(this).attr('id')] = true; }); $('#a,#b').mouSEOut(function(){ inArr [$(this).attr('id')] = false; setTimeout(function(){ if(!inArr.a && !inArr.b) $('#Box').fadeOut(800) },100); });