无法重复动画-jQuery Transit
使用jQuery插件 我不能让我的动画再重复一次 这是我的jQuery:无法重复动画-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度。第二次转换
$('.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好运-这是一个很棒的库。