This demonstrates how to animate the xy
position of an element.
Click anywhere on the gray box below and the little orange box will move to the click position.
Setting up the HTML
First we add some HTML to animate.
<div id="demo-stage"> <span id="demo"></span> </div>
Creating the Anim Instance
Now we create an instance of Y.Anim
, passing it a configuration object that includes the node
we wish to animate. We will set the to
attribute later when then animation runs.
var anim = new Y.Anim({ node: '#demo', duration: 0.5, easing: Y.Easing.elasticOut });
Changing Attributes
Next we need a click
handler to set the to
attribute for the xy
behavior and run the animation.
var onClick = function(e) { anim.set('to', { xy: [e.pageX, e.pageY] }); anim.run(); };
Running the Animation
Finally we add an event handler to run the animation when the document is clicked.
Y.one('document').on('click', onClick);
Complete Example Source
<div id="demo-stage"> <span id="demo"></span> </div> <script type="text/javascript"> YUI().use('anim', function(Y) { var anim = new Y.Anim({ node: '#demo', duration: 0.5, easing: Y.Easing.elasticOut }); var onClick = function(e) { anim.set('to', { xy: [e.pageX, e.pageY] }); anim.run(); }; Y.one('#demo-stage').on('click', onClick); }); </script>