Первая анимация проходит успешно. А вот последующие, сразу принимают конечное значение, но судя по логу итерация проходит.
Скорее всего проблема в моем понимании, укажите пожалуйста, на что обратить внимание?
$('.open_main_search > button').click(function () {
var parEl = $(this).parent().parent()
var topPos = $("[class='top']").height()+$("[class='menu']").height()
if (parseInt($(this).offsetParent().css('top').slice(0,-2))<(topPos)) {
parEl.queue('fx', []).animate({'top': topPos}, {
duration: 400
})
var posit = $(this).find('img').css('transform')
var values = posit.split(/\(|,|\)/);
var angle = Math.atan2(+values[2], +values[1]);
var textContent = ((angle * (180/Math.PI)+360)%360).toFixed(0)
$('.open_main_search > button > img').animate(
{ deg: 180 },
{
duration: 1200,
step: function(now=0) {
$(this).css({ transform: 'rotate(' + (parseInt(textContent) + now) + 'deg)' });
}
}
);
} else {
parEl.queue('fx', []).animate({'top': topPos-$("[class='data-sletat-module-id']").height()}, {
duration: 400
})
var posit = $(this).find('img').css('transform')
var values = posit.split(/\(|,|\)/);
var angle = Math.atan2(+values[2], +values[1]);
var textContent = ((angle * (180/Math.PI)+360)%360).toFixed(0)
$('.open_main_search > button > img').animate(
{ deg: 180 },
{
duration: 1200,
step: function(now=0) {
$(this).css({ transform: 'rotate(' + (parseInt(textContent) + now) + 'deg)' });
}
}
);
}}
)