jQuery,mouseout的时候如何判断离开的对象
我想做一个,鼠标放在p.cp的时候弹出一个信息窗口,当鼠标离开的时候,信息窗口消失,这个不难,类似下面的代码即可。
现在有一个问题,就是想,鼠标离开p.cp但是放在信息窗口了,不让窗口消失,怎么弄?
$("p.cp").mouseover(function() {
divHover.show();
divHover.offset({
top: $(this).offset().top,
left: $(this).offset().left + $(this).width()
});
});
$("p.cp").mouseout(function(e) {
e = e || window.event;
to = e.toElement || e.relatedTarget;
if (e == divHover) {
return false;
}
divHover.hide();
//$(this).removeClass("selected");
});
[解决办法]
鼠标离开后,注册个事件让信息窗口一秒钟后关闭
鼠标移入信息窗口,取消这个事件
[解决办法]
var isRuning=false;$("p.cp").mouseover(function() { //增加一个判断 if(isRuning){ divHover.stop(); return; } divHover.show(); divHover.offset({ top: $(this).offset().top, left: $(this).offset().left + $(this).width() });});$("p.cp").mouseout(function(e) { isRuning=true;//标记正在隐藏 e = e || window.event; to = e.toElement || e.relatedTarget; if (e == divHover) { return false; } divHover.hide(1000,function(){isRuning=false;});//隐藏完毕后,改变变量 //$(this).removeClass("selected");});