2

希望这不是一个重复的问题,我似乎找不到答案。这是我的问题:

我在 jQuery 中完成了悬停动画,我想要的是如果用户悬停另一个链接,我希望第一个动画执行回调,而不是再次动画。

这是我到目前为止的一个例子:http: //sebastien-crapoulet.fr/test/

如果您有链接“A 提案”,您将获得完整的动画,现在我想要的是,如果您从“A 提案”转到“投资组合”,A 提案回调完成,而不是执行其他悬停动画.

我摆弄了 .stop() 和 .filter(':not(:animated)'),但没有成功。

这是我到目前为止所得到的:

$('nav ul li a').hover(function(){
    link               = $(this)
    color              = $(this).data("color")
    position           = link.position();
    background         = $('.menuBackground')

    if (color=="blue"){
        background.css({
            'background-color':'#99b3c4',
            'width':(position.left)+(link.width())+20+'px',
            'top':position.top+'px'
        })
        background.stop().animate({
            left:'0%'
        },500)
    }
    if (color=="green"){
        background.css({
            'background-color':'#91b6a5',
            'width':(position.left)+(link.width())+20+'px',
            'top':position.top+'px'
        })
        background.stop().animate({
            left:'0%'
        },500)
    }
    else {
        return false;
    }
},function(){
    background.stop().animate({
        left:'-100%'
    },500)
    return false;
})

提前感谢您提供的任何帮助!

4

1 回答 1

0

当您将鼠标悬停在第一个元素上时,会为第二个元素关闭和第一个元素打开动画,反之亦然。

于 2013-07-21T17:13:43.800 回答