DIV动画问题(x2)

时间:2012-01-30 21:26:01

标签: jquery animation

两部分问题:)

我在另一个DIV(名为one)之外设置了DIV(命名为2)。当我将鼠标悬停在“一个”上时,我希望“两个”滑过它。这可以使用下面的代码

    $(function(){ 
$(".one").mouseover(function(){
    $(".two").animate({left:-0}, 100);
});
});

当我使用相同的代码但使用“mouseout”反转动画时,它会在进出动画中闪烁两次。如何解决这个问题?

    $(function(){ 
$(".one").mouseout(function(){
    $(".two").animate({left:-120}, 100);
});
});

问题的第二部分是如何在同一页面上为多个实例设置此项,而不必每次都创建唯一的代码和DIV名称。

1 个答案:

答案 0 :(得分:3)

为了避免运行多个动画,您应该在调用新animate()之前stop()元素

$(function(){ 
    $(".one").mouseout(function(){
        $(".two").stop(true, true).animate({left:-120}, 100);
    });
});

如果你想跳到最后或从停止的地方开始,请查看有关stop的文档。

对于拥有多个实例,你应该改为使用jQuery插件。如果第二个div直接在第一个div中,并且没有其他div,则可以调用您的插件,如:

$('div.your_div_parent').doMyFunc();

在您的函数中,您将在$(this, '>div');

上添加该事件

我无法更准确,因为我缺少一些代码,而且我不确定你对最后一点的确切要求。