
Здравствуйте, написал небольшую функцию, которая может служить, скажем, для того, чтобы сделать анимацию при добавлении товара в корзину.
Для начала покажу пример работы данной функции.
Пример вызова функции:
animate('ELEMENT_ID', 100, 100, 1000);
Параметры, передаваемые в функцию:
animate(ID_IMG, LEFT_POSITION, TOP_POSITION, TIME);
ID_IMG – ID картинки, которая должна двигаться к определенным координатам
LEFT_POSITION – количество пикселей слева (цель движения картинки)
TOP_POSITION – количество пикселей справа (цель движения картинки)
TIME – время за которое картинка должна достичь цели (скорость движения)
Функцию можно вешать скажем на событие onclick.
Вот листинг:
function animate(imageToFlyId, l, t, timeout) { var imageElement = document.getElementById(imageToFlyId); var imageToFly = $(imageElement); var position = imageToFly.position(); var flyImage = imageToFly.clone().insertBefore(imageToFly); flyImage.css({ "position": "absolute", "left": position.left, "top": position.top }); flyImage.animate({ width: 0, height: 0, left: l, top: t}, timeout, 'linear'); function myfunc(id) { imageElement = document.getElementById(id); imageElement.parentNode ? imageElement.parentNode.removeChild(imageElement) : imageElement; } setTimeout(function() {myfunc(imageToFlyId)}, timeout); return false; }
Для верной работы необходимо, чтобы была подключена библиотека jquery.
Onclick это где?можешь подробно написать у меня интернет магазин на битриксе
К сожалению я вам не смогу помочь, сам ваш вопорос показывает, что вы в этой теме не разбираетесь вовсе, а без хотя бы элементарных вещей трудно объяснять.
Метод вызывается или в параметрах кнопки или ссылке
точнее событие
Супер. На всю настройку функционала уходит всего 2-3 минуты. Использовал не для Битрикс, а для другой CMS. Все прекрасно работает. При этом на на событие onclick навешано еще и ajax для отображение количества отложенного товара. Спасибо автору.
А как сделать чтобы в конце анимации, изображение товара останавливалось на несколько секунд, а потом пропадало?
Спустя 4 года после поста, скажу спасибо вам)