jQuery,mouseout的时候如何判断离开的对象

oN5GrzoN 2011-08-13 12:20:02
我想做一个,鼠标放在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");
});
...全文
283 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
licip 2011-08-15
  • 打赏
  • 举报
回复
思路正确,可以一试。[Quote=引用 1 楼 curarchy 的回复:]
鼠标离开后,注册个事件让信息窗口一秒钟后关闭
鼠标移入信息窗口,取消这个事件
[/Quote]
leeyon4151 2011-08-15
  • 打赏
  • 举报
回复

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");
});


可以试试,代码没测试过。。。
curarchy 2011-08-13
  • 打赏
  • 举报
回复
鼠标离开后,注册个事件让信息窗口一秒钟后关闭
鼠标移入信息窗口,取消这个事件

87,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧