0

我有一个使用 bodymovin 的动画,当我将鼠标输入它时会触发它并且我正在尝试制作它,这样如果我在动画结束之前再次将鼠标悬停在它上面,它就不会重新启动。

squareAnim.addEventListener('mouseenter', function(){
anim.removeEventListener('loopComplete', loopHandler);
anim.goToAndStop(1);
anim.play();

if(anim.play == true){
    anim.mouseenter == false;
} else {
    anim.mouseenter == true;
}
}); 

我的语法错误还是我的逻辑有缺陷?

4

1 回答 1

0

只需在调用之前检查动画是否正在播放,goToAndStop()并且play()

squareAnim.addEventListener('mouseenter', function(){
  anim.removeEventListener('loopComplete', loopHandler);

  if(anim.play !== true){
    anim.goToAndStop(1);
    anim.play();
  }
}); 
于 2017-02-21T07:36:46.723 回答