次のボタンをクリックしたときにアニメーション化するカルーセルの親要素にCSStransition
を適用しましたが、変換位置をsetTimeout 内にリセットしたときにアニメーションが開始されないようにする必要があります。理想的には、トランジションを none に設定し、カルーセルがリセットされたらすぐにこれを削除したいと考えています。誰も私がこれを行う方法を推奨できますか?translateX
0 to 100%
0
CSS
.carousel {
height: 100%;
-webkit-transition: -webkit-transform .1s ease-in-out;
-webkit-transform: translate(0, 0);
}
JS
btnNext.on('click', function (e) {
e.preventDefault();
//move carousel to right 100%
carousel.css('transform', 'translateX(-100%)');
$('.slide:first').insertAfter('.slide:last');
setTimeout(function () {
resetSlides();
resetCarousel();
}, 5000);
});
function resetCarousel() {
$('.carousel').css({
'transform': 'translateX(0%)',
'transition': 'none'
});
//now remove inline transition:none style without a transition occurring?
}
JSFiddle: http://jsfiddle.net/GKv4p/22/