Andrew

Andrew

С нами с 12 апреля 2019; Место в рейтинге пользователей: #1085
Александр Мельник
04 октября 2021, 08:53
1
+1
docs.modx.pro/komponentyi/msearch2/snippetyi/mfilter2#Javascript
вам необходимо отслеживать это событие и в момент его наступления заново выполнять ваш код.
Rrp2010
16 декабря 2019, 23:49
1
+1
В вашем случае так будет:
<script type="text/javascript"> 
$(document).ready(function(){ $('.ms2_form').on('submit', function(){ }); 

$("button[name='ms2_action']").on('click', function () { 
 
var btn = $(this).parent('.add-cart-button').find('button'); 

var flyimg = $(btn).parents().eq(1).siblings().find('img').eq(0); 

flyToElement($(flyimg), $('.not_empty .glyphicon-shopping-cart')); 

// Анимация кнопки AddCart
//flyToElement($(btn), $('.not_empty .glyphicon-shopping-cart')); 

// Автопрокрутка
$('html, body').animate({ 
'scrollTop' : $("body").position().top 
}); 

}); 
}); 
  
  
function flyToElement(flyer, flyingTo) {
	var $func = $(this);
	var divider = 3;
	var flyerClone = $(flyer).clone();
	$(flyerClone).css({position: 'absolute', top: $(flyer).offset().top + "px", left: $(flyer).offset().left + "px", opacity: 1, 'z-index': 1000});
	$('body').append($(flyerClone));
	var gotoX = $(flyingTo).offset().left + ($(flyingTo).width() / 2) - ($(flyer).width()/divider)/2;
	var gotoY = $(flyingTo).offset().top + ($(flyingTo).height() / 2) - ($(flyer).height()/divider)/2;
	 
	$(flyerClone).animate({
		opacity: 0.4,
		left: gotoX,
		top: gotoY,
		width: $(flyer).width()/divider,
		height: $(flyer).height()/divider
	}, 700,
	function () {
		$(flyingTo).fadeOut('fast', function () {
			$(flyingTo).fadeIn('fast', function () {
				$(flyerClone).fadeOut('fast', function () {
					$(flyerClone).remove();
				});
			});
		});
	});
}
</script>
Исправить нужно было:
var btn = $(this).parent('.ms2_form').find('button');

На:
var btn = $(this).parent('.add-cart-button').find('button');