Эта ошибка связана с тем, что вы включили общий прослушиватель кликов в функции щелчка. $('.flip-card__toggle').on('click'
применяется к всем кнопок переключения вашей карты.
Другими словами, каждый раз, когда нажимается любой переключатель карты, вы указываете ему анимировать каждую временную шкалу.
Чтобы это исправить, либо переместите прослушиватель события click за пределы события click, как показано ниже:
var $flipCardBack = $(".flip-card-back"),
$flipCardContainer = $(".flip-card-container");
//Card flip animations
TweenMax.set($flipCardBack, { rotationY: -180 });
$.each($flipCardContainer, function(i, element) {
var frontCard = $(this).find(".flip-card-front"),
backCard = $(this).find(".flip-card-back"),
tl = new TimelineMax({ paused: true, reversed: true });
tl
.to(frontCard, 1, { rotationY: 180 })
.to(backCard, 1, { rotationY: 0 }, 0)
.to(element, 0.5, { z: 50 }, 0)
.to(element, 0.5, { z: 0 }, 0.5);
$(this)[0].animation = tl;
});
$(".flip-card__toggle").on("click", function() {
var tl = $(this).closest(".flip-card-container")[0].animation;
if (tl.progress() === 0 || tl.reversed()) {
tl.play();
} else {
tl.reverse();
}
});
, либо измените селектор прослушивателя события click на что-то конкретное для этого контейнера:
$.each($flipCardContainer, function(i, element) {
var frontCard = $(this).find(".flip-card-front"),
backCard = $(this).find(".flip-card-back"),
toggle = $(this).find(".flip-card__toggle"),
tl = new TimelineMax({ paused: true, reversed: true });
tl
.to(frontCard, 1, { rotationY: 180 })
.to(backCard, 1, { rotationY: 0 }, 0)
.to(element, 0.5, { z: 50 }, 0)
.to(element, 0.5, { z: 0 }, 0.5);
toggle.on("click", function() {
if (tl.progress() === 0 || tl.reversed()) {
tl.play();
} else {
tl.reverse();
}
});
$(this)[0].animation = tl;
});