TweenMax staggerFromTo()onCompleteAll不等待补间完成

问题描述 投票:0回答:1

我正在使用静态staggerFromTo()来使孩子们在单击按钮时动画。查看documentation,第6个参数是onCompleteAll,应该在补间的整个序列完成之后调用。

当我使用此选项时,将在Tween启动时而不是在完成时调用onCompleteAll参数中的函数。如果您查看下面的小提琴,然后打开控制台,则单击该按钮后,它将立即看到日志“完成”。

我做错什么了吗?我不明白该参数如何工作吗?

$('button').on('click', function() {
  TweenMax.staggerFromTo($('.wrapper').children(), 1, {
    x: 0,
    opacity: 1,
  }, {
    x: 50,
    opacity: 0,
  }, .2, logDone())
})

function logDone() {
  console.log('done');
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.2.6/gsap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button>animate</button>
<div class="wrapper">
  <div>
    one
  </div>
  <div>
    two
  </div>
  <div>
    three
  </div>
</div>
javascript gsap tweenmax
1个回答
1
投票

主要问题是,您要通过在函数名称后添加()来立即调用该函数。您应该只传递logDone

© www.soinside.com 2019 - 2024. All rights reserved.