Jquery,如果不是mouseover语句

时间:2012-09-30 01:13:28

标签: jquery html if-statement

我正在尝试使用一些jQuery和HTML。

我有两个包含各种内容的div元素容器。这两个元素彼此相邻。 div不相互包含。我编写了代码,以便当我鼠标悬停一个div(div#1)时,另一个div(div#2)向下滑动(.slideDown)。

此外,当您鼠标移出div#2时,div#2向上滑动(.slideUp)。

问题是,如果div#2已经滑落,如果再次鼠标悬停div#1div#2会向上滑动并再次向下滑动。这非常烦人且不专业。只有当我的鼠标没有超过div#1时,我才需要它向上滑动。

这是我的目标:我需要找到一个jQuery语句, “只有当鼠标”超出“div#2没有”超过“ div#1时,才会向上滑动div#2。”

这可能吗?

我感谢任何帮助。

感谢。

2 个答案:

答案 0 :(得分:3)

在重新设置元素动画之前,您需要使用.stop()来停止动画。这将防止队列填满重复的动画:

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

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

答案 1 :(得分:0)

如果我理解你的问题你应该这样做:

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

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