2012-09-30 65 views
3

我正在嘗試使用一些jQuery和HTML。jquery如果不是mouseover語句

我有兩個div元素容器包含各種內容。這兩個元素彼此相鄰。 divs不包含另一個。我寫的代碼是這樣的,當我將鼠標懸停在一個div(div#1)上時,其他div(div#2)滑落(.slideDown)。您還可以將下載的照片從div#2轉換爲(.slideUp)。

問題是,如果div#2已經滑下,並且如果再次鼠標滑過div#1,則div#2會再次滑落。這非常煩人和不專業。只有當我的鼠標沒有超過div#1時,我才需要它向上滑動。

這是我的目標:我需要找到一個jQuery聲明說, 「只有當鼠標是‘’的div#2不是‘過了’div#1,滑動div#2了。」

這可能嗎?

我很感激任何幫助。

謝謝。

回答

3

您需要使用.stop()在對元素重新動畫之前停止動畫。這將防止隊列與重複動畫填補:

$('#stop').hover(function() { 
    $(this).stop().animate({width: '250px'}); 
}, function() { 
    $(this).stop().animate({width: '150px'}); 
}); 

演示:http://jsfiddle.net/Blender/2TkNc/2/

0

如果我理解正確你的問題,你應該這樣做:

$('.div1').die('mouseover').live('mouseover',function(){ 
            $('.div2').slideDown(); 
            }); 
$('.div2').die('mouseover hover').live('mouseout',function(){ 
            $('.div2').slideUp(); 
            }); 

http://jsfiddle.net/2TkNc/5/