2012-01-05 73 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