私がやりたいことは、ユーザーがボタンをもう一度押すと最初から遷移を再生することです。今の問題は、ユーザーがボタンを2回以上クリックすると、2つのアニメーションが適切に(1つずつ)開始されないことです。Javascriptの遷移が次々と変わる
今のところトランジションは機能していますが、ユーザーがボタンを2回以上クリックした場合にはこの問題を解決できません。
let button = document.querySelector("button")
let box = document.querySelector(".box")
button.onclick =() => {
box.style.transform = "";
anim1(function(){
anim2(function() {
})
})
}
function anim1(cb) {
box.style.transition = ""
box.clientHeight;
box.style.transition = "all 1s";
box.style.transform = "translateX(50px)";
setTimeout(() => {
cb()
},1000)
}
function anim2(cb) {
box.style.transition = ""
box.clientHeight;
box.style.transition = "all 1s";
box.style.transform = "translateX(350px)";
setTimeout(() => {
cb()
},1000)
}
ライブ例https://jsfiddle.net/kzjpb55f/