У меня есть слайдер изображения, как анимация, различия в том, что в одном слайде есть несколько элементов, в моем случае 4 изображения, которые идут с левой или правой стороны сцены.Отключить ссылки до тех пор, пока все анимации не остановятся и не активируют их снова
Вопрос заключается в том, как сделать ссылки, которые заставляют функцию анимации отключать, пока анимация не закончится на 100%, а затем снова включите ее.
Вот мой код ...
$(document).ready(function() {
//
$('.package_box_menu li').children().click(function(){
$(this).showProducts($(this).attr("id"))
});
jQuery.fn.showProducts = function (clickedSeason) {
var nextToShowSide = $('.'+[clickedSeason]+'_img1').attr("rel");
var active = $('img[ rel |= active]').attr('season');
if (nextToShowSide == 'right') {var whereTo = '-1000px'; var currentToHideSide ="left" };
if (nextToShowSide == 'left') {var whereTo = '3000px'; var currentToHideSide ="right" };
show();
hide(active, whereTo, currentToHideSide);
function show(){
var allToShow = ($('img[ season |= '+[clickedSeason]+']').get()).length;
for (var i = 1; i<= allToShow ; i++){
var delay = $('.'+[clickedSeason]+'_img'+[i]).attr('delay');
var position = $('.'+[clickedSeason]+'_img'+[i]).attr('left');
$('.'+[clickedSeason]+'_img'+[i]).stop().delay(delay).animate({'margin-left': position }, 1000, 'easeOutExpo').attr('rel','active');
}
};
function hide(active, whereTo, currentToHideSide){
var all = ($('img[ rel |= active]').get()).length;
for (var i = 1; i<= all ; i++){
if ($('.'+[active]+'_img'+[i]).attr('rel') == 'active') {
$('.'+[active]+'_img'+[i]).stop().delay([i]+'00').animate({'margin-left': whereTo }, 1000, 'easeInExpo').attr('rel', currentToHideSide);
}
}
};
};
jQuery().showProducts('spring');
});
+1: Я всегда забывайте этот метод и используйте утомительную переменную mutex для возврата в обратный вызов анимации. – fcalderan
@AbstractChaos Если вы посмотрите лучше на скрипт, вы увидите, что не кнопка (ссылка) - это то, что оживляет. ... – NoBine
@NoBine Вот почему я сказал в комментарии ниже фрагмента кода, что он может быть заменен вашим слайдом. Я покажу вам, как это было очевидно – AbstractChaos