Я полагаю, что ваша проблема заключается в том факте, что вы привязываете свои анимации к событиям кликов одновременно.Таким образом, вы нажимаете div, запускается анимация, но в то же время вы также запускаете событие click на $(document)
, и поэтому вы замечаете, что происходит наложение.
Чтобы облегчить это, я перенес регистрациюсобытия .click()
на $(document)
в событие щелчка элемента div и устраняется необходимость иметь флаг clickc
, так как после запуска события щелчка в документе он сам снимает привязку.
OneПроблема, которая может возникнуть при таком подходе, заключается в том, что если пользователь снова щелкнет по div, анимация снова произойдет.Но я оставляю это вам в качестве упражнения.
Это решение не проверено.
function open_animation () {
$('.lupe').animate({opacity: '0'},750)
$('.card > img').animate({height: 150, width: 193, opacity: '1', left: 0, top: 9},500)
$('.contact-content2').animate({opacity:'1'},500).animate({opacity: '0'},500)
$('.cardgreen > img').animate({height:150, width: 193, opacity: '0'},500).animate({opacity: '1', top: 9},500, function() { $button.removeClass('disabled') });
}
function close_animation () {
$('.cardgreen > img').animate({opacity: '0'},300).animate({height:0,width:0});
$('.contact-content2').show(0).animate({opacity: '1'},300)
$('.clickding').animate({width: '0', height: '0'},0)
$('.card > img').animate({opacity: '1'},300).animate({opacity: '0', width: 0, height: 0, left:194, top:75},270, function() { $button.removeClass('disabled')});
}
$('.anfahrt').click(function() {
$button = $(this);
if( !$button.hasClass( 'disabled' ) ) {
$button.addClass( 'disabled' );
open_animation()
$(document).click(function() {
$button = $('.anfahrt');
if( !$button.hasClass( 'disabled' ) ) {
$button.addClass( 'disabled' );
close_animation();
$(document).unbind('click');
}
});
}
});