2012-01-05 64 views
1

我有两个单独的元素设置出现在DOM的不同部分 - 我面临的问题是,他们绝对定位,我不能将它们包装在一个容器div。jQuery悬停在两个单独的元素

我已经安装这里的jsfiddle - http://jsfiddle.net/sA5C7/1/

我所试图做的是:搬进搬出一起元素 - 使用户可以元素之间移动他们的鼠标只有一次他们移动关闭两个会再次隐藏?

我该如何设置?因为目前,一旦我移出单个元素 - 它会触发该元素的“离开事件”等。

+0

小提琴是不工作了 – diEcho 2012-01-05 07:39:29

+0

刚刚更新了它 - 尝试此链接http://jsfiddle.net/sA5C7/1/ – Andy 2012-01-05 07:39:57

回答

3

您可以使用您设置的两个布尔变量,每个布尔变量用于每个元素。当你输入元素时它变为true,如果你离开,它变成false。

只有当两者都是假的离开=>隐藏元素。

$(document).ready(function(){ 
    var bslider = false; 
    var btest = false; 
    $('#slider').mouseover(function() { 
     bslider = true; 
     $('#slider, #test').stop(true,false).animate(
        {'margin-left':'20px' 
        }); 
    }); 
    $('#test').mouseover(function() { 
     btest = true; 
     $('#slider, #test').stop(true,false).animate(
        {'margin-left':'20px' 
        }); 
    }); 
    $('#slider').mouseout(function() { 
     bslider = false; 
     if(!bslider && !btest) 
     { 
      $('#slider, #test').stop(true,false).animate(
        {'margin-left':'0' 
        }); 
     } 
    }); 
    $('#test').mouseout(function() { 
     btest = false; 
     if(!bslider && !btest) 
     { 
      $('#slider, #test').stop(true,false).animate(
        {'margin-left':'0' 
        }); 
     } 
    }); 
}); 
+0

您可以编辑小提琴告诉我你是什么意思?谢谢 – Andy 2012-01-05 07:44:38

+0

像这样http://jsfiddle.net/vUxeL/但我不能测试它是否真的在这一刻起作用,jsfiddle似乎是为我窃听。 – bardiir 2012-01-05 07:52:29

+0

啊动画太疯狂了,当动画加上元素被隐藏在左边时,鼠标悬停,我改变了动画了一下,以显示它是如何工作的:http://jsfiddle.net/vUxeL/1/ – bardiir 2012-01-05 08:00:16