Как определить позицию зафиксированного элемента?

Использую вот такой скрипит анимации добавления товара в корзину
function animateImageToCart(pid) {
imagePid = '#img' + pid;
imagePosition = $(imagePid).offset(); // получаем позицию изображения
cartPosition = $('.top-cart').position(); // получаем позицию корзины
cartPosition.left = cartPosition.left + ( $('.top-cart').width() / 2 ); // если корзина справа, то плюсуем, чтобы получить центр, иначе минусуем
cartPosition.top = cartPosition.top + ( $('.top-cart').height() / 2 ); // формальность
$('body').prepend('<div id="imageToCart"><img src="'+ $(imagePid).attr('src') +'"></div>'); // вставляем картинку в самом низу страницы
 
// моментально накладываем нашу новую картинку поверх существующей
$('#imageToCart img').css({
  'position': 'absolute',
  'z-index': '1999',
  'left': imagePosition.left + 'px',
  'top': imagePosition.top + 'px',
  'width': $(imagePid).width() + 'px',
  'height': $(imagePid).height() + 'px'
});

// поехала анимация в направлении корзины
$('#imageToCart img').animate({
  top: cartPosition.top + 'px',
  left: cartPosition.left + 'px',
  opacity: '0',
  width: $(imagePid).width() / 3,
  height: $(imagePid).height() / 3
  }, 1000, function() {
  $('#imageToCart').remove();
  });
}


Проблема в том что корзина зафиксирована и перемещается вместе с прокруткой сайта.
И получается, что если я прокручиваю сайт в низ - анимация в корзину идет куда то вверх, а не в саму корзину,
  • Вопрос задан
  • 88 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы