【问题标题】:cannot repeat animation - jQuery Transit无法重复动画 - jQuery Transit
【发布时间】:2013-04-14 23:24:51
【问题描述】:

使用jQuery插件Transit

我不能让我的动画重复一次以上。

这是我的 jQuery:

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

【问题讨论】:

  • 对此无能为力。似乎我们可以使用complete 回调再次完成设置转换,但尽管它被调用,但它不会再次为它设置动画。也许我们需要一些方法来清除现有的过渡。以后有空会调查的。
  • 谢谢,如果你能弄清楚,将不胜感激
  • 你能用 jsfiddle 重新复制这个吗? jsfiddle.net

标签: jquery animation transition jquery-transit


【解决方案1】:

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

http://jsfiddle.net/rFKw8/2/

这只是一种可能性:

$('.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);
        });
    }
});

【讨论】:

  • 好的,现在说得通了。我是编写 jQuery 的新手,所以我还有很多东西要学。非常感谢!这就像一个魅力
  • 这是一个很好的问题,因为它与语法无关——你做的一切都是正确的。问题是概念性的,并且依赖于真正理解您对代码所做的事情。祝 jQuery 好运 - 这是一个很棒的库。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多