PP.Ui.Animation(settings: Object);
settings. JSON-объект со значениями свойств класса.
Конструктор Animation создаёт экземпляр класса Animation.
Для выполнения примера необходимо наличие на html-странице ссылок на файлы сценария jquery.js, PP.js, PP.Metabase.js, PP.Express.js и файл стилей PP.css. Создадим текстовую область и объект анимации, а затем реализуем плавное изменение цвета заливки этой области от белого к красному и подсчитаем длительной данной анимации:
// Создадим текстовую область var textArea = new PP.Ui.TextArea({ Width: 200, // Ширина Height: 100 // Высота }); // Добавим данную область в документ textArea.addToNode(document.body); // Определим возвратную функцию, перекрашивающую текстовую область var animateCallback = function (obj, args) { // Получим текущий шаг анимации var value = args.Value; // Получим новый цвет заливки var color = PP.Ui.Animation.getStepColor("white", "red", value * 0.005, true); // Применим данный цвет заливки textArea.setStyle("background-color: " + color); // Если анимация завершена if (args.IsEnd) { // Получим время начала анимации var startDate = Date.parse(animation.getStartTime()); // Получим текущее время - время окончания анимации var endDate = Date.now(); // Рассчитаем длительность анимации в миллисекундах console.log("Длительность анимации: " + (endDate - startDate)); }; }; // Создадим анимацию var animation = new PP.Ui.Animation({ Context: textArea, // Объект, свойство которого будет меняться PropertyName: "Style", // Наименование изменяемого свойства Duration: 1500, // Длительность анимации в миллисекундах Start: 10, // Начальный шаг анимации End: 200 // Последний шаг анимации });
В результате выполнения примера была создана текстовая область и объект анимации с длительностью в 1500 миллисекунд с начальным шагом 10 и конечным шагом, равным 200:
Далее воспроизведём анимацию, плавно закрашивающую данную текстовую область в красный цвет:
animation.run(PP.Delegate(this.animateCallback,
this));
После выполнения данной строки сценария текстовая область была плавно окрашена в красный цвет:
Также в консоли браузера была выведена самостоятельно рассчитанная длительность анимации в миллисекундах:
Длительность анимации: 1572
Аналогичный результат можно получить при вызове следующей строки сценария:
animation.animate(PP.Delegate(this.animateCallback, this));
См. также: