2012-02-23 50 views
0

这是我的布局和我的javascript:http://jsfiddle.net/HRDNK/1/互斥事件在JavaScript

悬停在头像和名字,你可以看到,2弹出式菜单出现。他们只是隐藏,并出现在悬停。我正在使用名为hoverIntent的插件来简单地管理超时。

我的问题是,我不能改变这种布局:用户名和头像分开渲染,我的代码附加到他们两个,但我希望事件不会触发时,已经触发了同一用户。正如你所看到的,有2个“.title_list”具有相同的id,因为id是根据用户的id在渲染过程中定义的。

我需要的是为相同的用户有相互隐瞒的悬停事件。如果这是不可能的,一个事件可能会排除任何其他类型的.title_list事件,直到它消失。

我试过这样做,保持触发的ID的全局列表,但它进入竞争状态,并没有按预期工作。

回答

1

试试这个:http://jsfiddle.net/HRDNK/2/

基本思路是显示选中一个之前隐藏所有的气球。

if(list.children().length>0) { 
    $(".title_list").hide(); 
    list.fadeIn(300); 
} 

课程优化的缘故,你应该创建一个先前参考$(".title_list"),所以你不需要每次鼠标悬停在一个轮廓

+0

简单,但时间找到这些元素...辉煌。我会等待其他答案,但这可以做到这一点。 – Chobeat 2012-02-23 11:10:08

+1

@Chobeat你在等待的时候怎么样? – 2012-02-23 11:11:15

+0

你是对的... – Chobeat 2012-02-23 11:12:22