PP.Ui.AnimationPoint(settings: Object);
settings. JSON-объект со значениями свойств класса.
Конструктор AnimationPoint создаёт экземпляр класса AnimationPoint.
Для выполнения примера необходимо наличие на html-странице ссылок на файл сценария PP.js и файл стилей PP.css, а сам пример нужно запустить в консоли браузера. Создадим текстовую область и добавим её на страницу:
// Создадим текстовую область var textArea = new PP.Ui.TextArea({ Width: 200, // Ширина Height: 100 // Высота }); // Добавим данную область в документ textArea.addToNode(document.body);
В результате выполнения примера на страницу была добавлена текстовая область:
Затем создадим объект анимации, реализующий плавное изменение размеров данной области. По окончании воспроизведения окрасим текстовую область в жёлтый цвет и рассчитаем длительность анимации:
// Получим DOM-вершину текстовой области var domNode = textArea.getDomNode(); var startTime = 0; // Переменная для хранения длительность анимации // Создадим точку анимации var animationPoint = new PP.Ui.AnimationPoint({ /* Воспроизводить анимацию будем через 2 секунды после её запуска */ Value: 2000, // Укажем массив анимаций Items: [new PP.Ui.Animation({ Context: domNode, PropertyName: "width", AnimationType: PP.Ui.AnimationType.CSS, Start: 50, // Минимальная ширина - 50 пикселей End: 300, // Максимальная ширина - 300 пикселей Duration: 2000 // Длительность анимации равна двум секундам }), new PP.Ui.Animation({ Context: domNode, PropertyName: "height", AnimationType: PP.Ui.AnimationType.CSS, Start: 1, // Минимальная высота - 1 пиксель End: 150, // Максимальная высота - 150 пикселей Duration: 2000 // Длительность анимации равна двум секундам })] }); // Определим возвратную функцию var animateCallback = function (sender, args) { /* По завершении анимации закрасим текстовую область жёлтым цветом */ args.Args.Node.style.backgroundColor = "yellow"; }; // Зададим возвратную функцию animationPoint.setCallback(PP.Delegate(this.animateCallback, animationPoint, { Node: domNode })); // Обработаем событие Started animationPoint.Started.add(function () { // Определим время начала анимации startTime = Date.now(); }); // Обработаем событие Ended animationPoint.Ended.add(function () { // Рассчитаем реальную длительность анимации console.log("Длительность анимации: " + (Date.now() - startTime)); }); // Запустим воспроизведение анимации animationPoint.run(); // Остановим анимацию через 3,5 секунды после её запуска setTimeout("animationPoint.stop();", 3500);
В результате выполнения примера был создан объект анимации, реализующий плавное изменение размеров данной области. Анимация была воспроизведена через 2 секунды после её запуска и остановлена через 3,5 секунды. По окончании воспроизведения область окрасилась в жёлтый цвет:
С помощью обработки событий Started и Ended была рассчитана и выведена в консоль браузера длительность анимации:
Длительность анимации: 1500
См. также: