diff -r 000000000000 -r 40c8f766c9b8 src/cm/media/js/lib/yui/yui3.0.0/examples/anim/end-event.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cm/media/js/lib/yui/yui3.0.0/examples/anim/end-event.html Mon Nov 23 15:14:29 2009 +0100 @@ -0,0 +1,242 @@ + + + + + YUI Library Examples: Animation: Using the End Event + + + + + + + + + + + + +
+
+
+

+ + YUI 3.x Home - + +

+
+ + +
+ + + +
+
+
+
+

YUI Library Examples: Animation: Using the End Event

+
+
+ + +
+
+
+
+ +

Animation: Using the End Event

+ +
+
+

This demonstrates how to use the end event.

+

Click the X in the header to fade the element out and remove it from the document once the fade completes.

+ +
+ +
+
+ + + + + +
+
+

Animation Demo

+ x +
+
+

This an example of what you can do with the YUI Animation Utility.

+

Follow the instructions above to see the animation in action.

+
+
+

This is placeholder text used to demonstrate how the above animation affects subsequent content.

+ + + + + +
+
+
+ +

Setting up the HTML

+

First we add some HTML to animate.

+
  1. <div id="demo" class="yui-module">
  2. <div class="yui-hd">
  3. <h4>Animation Demo</h4>
  4. <a title="remove module" class="yui-remove"><em>x</em></a>
  5. </div>
  6. <div class="yui-bd">
  7. <p>This an example of what you can do with the YUI Animation Utility.</p>
  8. <p><em>Follow the instructions above to see the animation in action.</em></p>
  9. </div>
  10. </div>
<div id="demo" class="yui-module">
+    <div class="yui-hd">
+        <h4>Animation Demo</h4>
+        <a title="remove module" class="yui-remove"><em>x</em></a>
+    </div>
+    <div class="yui-bd">
+        <p>This an example of what you can do with the YUI Animation Utility.</p>
+        <p><em>Follow the instructions above to see the animation in action.</em></p>
+    </div>
+</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 and the to attribute containing the properties to be transitioned and final values.

+ +
  1. var anim = new Y.Anim({
  2. node: '#demo',
  3. to: { opacity: 0 }
  4. });
var anim = new Y.Anim({
+    node: '#demo',
+    to: { opacity: 0 }
+});
+

Handling the End Event

+

We will need a function to run when the end event fires. Note that the context of our handler defaults to anim, so this refers to our Anim instance inside the handler.

+
  1. var onEnd = function() {
  2. var node = this.get('node'); // this === anim
  3. node.get('parentNode').removeChild(node); // node is an instance of Node
  4. };
var onEnd = function() {
+    var node = this.get('node'); // this === anim
+    node.get('parentNode').removeChild(node); // node is an instance of Node
+};

Listening for the End Event

+

Now we will use the on method to subscribe to the end event, passing it our handler.

+ +
  1. anim.on('end', onEnd);
anim.on('end', onEnd);
+

Running the Animation

+

Finally we add an event handler to run the animation.

+
  1. Y.get('#demo .yui-remove').on('click', anim.run, anim);
Y.get('#demo .yui-remove').on('click', anim.run, anim);
+

Full Script Source

+
  1. YUI().use('anim', function(Y) {
  2. var anim = new Y.Anim({
  3. node: '#demo',
  4. to: { opacity: 0 }
  5. });
  6.  
  7. var onEnd = function() {
  8. var node = this.get('node');
  9. node.get('parentNode').removeChild(node);
  10. };
  11.  
  12. anim.on('end', onEnd);
  13. Y.get('#demo .yui-remove').on('click', anim.run, anim);
  14. });
YUI().use('anim', function(Y) {
+    var anim = new Y.Anim({
+        node: '#demo',
+        to: { opacity: 0 }
+    });
+ 
+    var onEnd = function() {
+        var node = this.get('node');
+        node.get('parentNode').removeChild(node);
+    };
+ 
+    anim.on('end', onEnd);
+    Y.get('#demo .yui-remove').on('click', anim.run, anim);
+});
+ +
+ +
+
+ + + +
+ +
+

Copyright © 2009 Yahoo! Inc. All rights reserved.

+

Privacy Policy - + Terms of Service - + Copyright Policy - + Job Openings

+
+
+ + + + + +