Просто добавьте небольшую проверку к элементу. Как только вы запустите анимацию, установите bool в true, при нажатии сделайте вашу первую проверку
var animating = false;
$("#tweet_activate a").click(function() {
if (animating !== true) {
animating = true;
if ($('body').hasClass('home')) {
$(this).parent().stop(true, true).animate({
top: "+=154"
}, 400).delay(1200).fadeOut();
} else {
$("#int_comp").animate({
width: "+=157"
}, 100);
$(this).parent().stop(true, true).animate({
top: "+=154"
}, 400).delay(1200).fadeOut();
}
$("#tweet_text").delay(400).animate({
right: "+=56"
}, 400);
$("#tweet").delay(900).animate({
right: "+=214"
}, 400);
$("#tweet_deactivate").delay(1200).fadeIn();
$("#tweet_text p, #tweet_text span, #tweet #links").delay(1200).fadeIn();
$("#eye").delay(600).fadeOut(function() {
animating = false; // this is a guess. but place this where ever the animation is stopping.
});
}
return false;
});
Это должно работать. Попробуйте.
$("#tweet_activate a").click(function() {
$this = $(this);
if ($this.attr("is-animated") !== "true") {
$this.attr("is-animated", "true");
if ($('body').hasClass('home')) {
$this.parent().stop(true, true).animate({
top: "+=154"
}, 400).delay(1200).fadeOut();
} else {
$("#int_comp").animate({
width: "+=157"
}, 100);
$this.parent().stop(true, true).animate({
top: "+=154"
}, 400).delay(1200).fadeOut();
}
$("#tweet_text").delay(400).animate({
right: "+=56"
}, 400);
$("#tweet").delay(900).animate({
right: "+=214"
}, 400);
$("#tweet_deactivate").delay(1200).fadeIn();
$("#tweet_text p, #tweet_text span, #tweet #links").delay(1200).fadeIn();
$("#eye").delay(600).fadeOut(function() {
$this.attr("is-animated", "false");
});
}
return false;
});
вы можете видеть, что ключ является атрибутом ("is-animated"); Я не могу выполнить проверку в главной кнопке, потому что она уже определила событие click до того, как я применил атрибут. Странный. О, хорошо, если вы заключите содержимое события click в оператор if, как я делал в предыдущем примере, это сработает. Однако, в отличие от предыдущего примера, я прикрепляю атрибут к тегу привязки и читаю его, чтобы увидеть, находится ли он в состоянии анимации. Таким образом, вы можете иметь несколько элементов с этим типом блокирующего события