无法重复动画-jQuery Transit

无法重复动画-jQuery Transit,jquery,animation,transition,jquery-transit,Jquery,Animation,Transition,Jquery Transit,使用jQuery插件 我不能让我的动画再重复一次 这是我的jQuery: $('.cart').mouseenter(function(){ $('.cartIcon').transition({ perspective: '500px', rotateY: 360 , duration: 400, easing: 'in' }); }); 您的问题是,第一次转换购物车图标时,您将其旋转360度。第二次转换

使用jQuery插件

我不能让我的动画再重复一次

这是我的jQuery:

    $('.cart').mouseenter(function(){
    $('.cartIcon').transition({
        perspective: '500px',
        rotateY: 360 ,
        duration: 400,
        easing: 'in'
    });
});

您的问题是,第一次转换购物车图标时,您将其旋转360度。第二次转换时,它仍处于该状态。所以你再转换一次。。。从360度360度,这意味着什么都不会发生。要使它每次都具有动画效果,您需要选择一些将其转换回的方法

这只是一种可能性:

$('.cart').mouseenter(function(){
    var $cart = $(this),
        $cartIcon = $cart.find('.cartIcon'),
        transitionOptions = {
            perspective: '500px',
            duration: 500,
            easing: 'in'
        };

    if (!$cart.data('transitioned')) {
        transitionOptions.rotateY = 360;
        $cartIcon.transition(transitionOptions, function () {
            $cart.data('transitioned', true);
        });
    } else {
        transitionOptions.rotateY = 0;
        $cartIcon.transition(transitionOptions, function () {
            $cart.data('transitioned', false);
        });
    }
});

在这上面找不到任何线索。似乎我们可以利用
complete
回调再次完成设置转换,但尽管调用了它,但它不会再次设置动画。也许我们需要一些方法来清除现有的过渡。如果以后有时间的话,我会调查的。谢谢你,如果你能弄明白的话,我会非常感激的。你能用JSFIDLE重新复制这个吗?好了,这现在有道理了。我刚开始写jQuery,所以我还有很多东西要学。不过非常感谢!这就像一个字符,这是一个很好的问题,因为它与语法无关-你做的一切都是对的。这个问题是概念性的,并且依赖于真正理解您对代码所做的工作。祝jQuery好运-这是一个很棒的库。