PP.Ui.AnimationPoint(settings: Object);
settings. JSON object that contains values of class properties.
The AnimationPoint constructor creates an instance of the AnimationPoint class.
To execute the example, the HTML page must contain links to the PP.js script file and the PP.css stylrs file and the example itself should launched from the browser console. Create a text area and add it to the page:
// Create a text area
var textArea = new PP.Ui.TextArea({
Width: 200, // Width
Height: 100 // Height
});
// Add the area in the document
textArea.addToNode(document.body);
After executing the example a text area is added in the page:

Then create an animation object that implements smooth resizing of the area. After animation is completed, fill the text area with yellow color and calculate animation duration:
// Get DOM node of text area
var domNode = textArea.getDomNode();
var startTime = 0; // Variable used to store animation time
// Create animation point
var animationPoint = new PP.Ui.AnimationPoint({
/* Play animation
in 2 seconds after its start */
Value: 2000,
// Specify array of animations
Items: [new PP.Ui.Animation({
Context: domNode,
PropertyName: "width",
AnimationType: PP.Ui.AnimationType.CSS,
Start: 50, // Minimum width - 50 pixels
End: 300, // Maximum width - 300 pixels
Duration: 2000 // Animation time is 2 seconds
}), new PP.Ui.Animation({
Context: domNode,
PropertyName: "height",
AnimationType: PP.Ui.AnimationType.CSS,
Start: 1, // Minimum height - 1 pixel
End: 150, // Maximum height - 150 pixels
Duration: 2000 // Animation time is 2 seconds
})]
});
// Determine callback function
var animateCallback = function (sender, args) {
/* On animation end color text area
with yellow color */
args.Args.Node.style.backgroundColor = "yellow";
};
// Set callback function
animationPoint.setCallback(PP.Delegate(this.animateCallback, animationPoint, {
Node: domNode
}));
// Handle the Started event
animationPoint.Started.add(function () {
// Determine animation start time
startTime = Date.now();
});
// Handle the Ended event
animationPoint.Ended.add(function () {
// Calculate actual animation time
console.log("Animation time: " + (Date.now() - startTime));
});
// Start animation
animationPoint.run();
// Stop animation in 3.5 seconds after its start
setTimeout("animationPoint.stop();", 3500);
After executing the example an object is created to smoothly resize the area. Animation started playing in 2 seconds after it was started, and paused in 3.5 seconds. After animation is completed, the area is filled with yellow color:

Due to handleing the Started and Ended events, animation duration is calculated and shown to the browser console:
Animation duration: 1500
See also: