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");
});
------解决方案--------------------
鼠标离开后,注册个事件让信息窗口一秒钟后关闭
鼠标移入信息窗口,取消这个事件
------解决方案--------------------
JScript code
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");
});