3

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

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

此外,当您 mouseout 时div#2div#2向上滑动 ( .slideUp)。

问题是 ifdiv#2已经向下滑动,如果您再次将鼠标悬停div#1div#2将再次向上和向下滑动。这很烦人和不专业。只有当我的鼠标没有结束时,我才需要它向上滑动div#1

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

这可能吗?

我很感激任何帮助。

谢谢。

4

2 回答 2

3

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

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

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

于 2012-09-30T01:25:41.850 回答
0

如果我正确理解了您的问题,您应该这样做:

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

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

于 2012-09-30T09:03:35.130 回答