5

我正在使用 Velocity 在屏幕上转换元素。完成后,我希望元素返回其原点并循环动画,绕过循环时发生的默认反向效果。

我有我的标准动画函数,我将我的值传递到其中:

$(element).delay(initialDelay).velocity(animationValues, {duration: duration, easing: easing, loop: loop, complete: function() {
   callback();
}});

有没有办法通过翻译元素而不是仅仅旋转它来实现这个功能?

4

1 回答 1

1

确保在动画函数中初始化位置 - 请参见下面的示例:

$(document).ready(function(){

  var el = $('#target');
  
  function anim() {
    el.velocity({ 'left': 0   }, 0 )
      .velocity({ 'left': 300 }, { duration: 2000, complete: anim });
  };

  anim();

});
#target {
  background: #999; width: 100px; height: 100px; position: absolute;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://cdn.jsdelivr.net/velocity/1.4.2/velocity.min.js"></script>
<div id="target"></div>

于 2017-02-07T21:28:05.767 回答