gpt4 book ai didi

javascript - 简单的动画播放/倒退按钮

转载 作者:行者123 更新时间:2023-11-29 10:26:47 26 4
gpt4 key购买 nike

尝试使用 animate.js 框架在播放和反向播放之间切换播放动画。

HTML

<button class="btn">PLAY</button>
<div class="square"></div>

JS

/** animation */
let animeSquare = anime({
targets: '.square',
translateX: '100px',
duration: 500,
autoplay: false,
});


/** button */
$('.btn').click(function() {
if ($(this).hasClass('is-active')) {
animeSquare.reverse();
$(this).removeClass('is-active');
} else {
animeSquare.play();
$(this).addClass('is-active');
}
});

问题是我必须按两次按钮才能播放动画。为什么?

代码笔:https://codepen.io/aitormendez/pen/ymyzoq

最佳答案

动漫插件有:

此外,因为您没有循环,所以每次都需要重新启动。

因此,您的代码可以简化为:

let animeSquare = anime({
targets: '.square',

direction: 'normal', // normal or reverse????

/** Properties to animate */
translateX: '100px',

/** Animation settings */
duration: 500,
autoplay: false,

begin: function (anim) {

},
complete: function (anim) {
// change direction..... so the next time you play....
anim.direction = (anim.direction == 'normal') ? 'reverse' : 'normal';
}
});

$('.btn').click(function () {
animeSquare.restart();
});
.square {
width: 100px;
height: 100px;
background-color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/2.2.0/anime.min.js"></script>


<button class="btn">PLAY</button>
<div class="square"></div>

关于javascript - 简单的动画播放/倒退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57110258/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com