source: cows/branches/cows-vis/cows/pylons/project_templates/cows_server/+package+/public/js/yui/examples/anim/reverse.html @ 5259

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/cows/branches/cows-vis/cows/pylons/project_templates/cows_server/+package+/public/js/yui/examples/anim/reverse.html@5259
Revision 5259, 14.8 KB checked in by domlowe, 11 years ago (diff)

adding yui javascript

Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2<html>
3<head>
4        <title>YUI Library Examples: Animation Utility: Reversing an Animation</title>
5    <meta http-equiv="content-type" content="text/html; charset=utf-8">
6        <link rel="stylesheet" type="text/css" href="../../assets/yui.css" >
7
8<style>
9    /*Supplemental CSS for the YUI distribution*/
10    #custom-doc { width: 95%; min-width: 950px; }
11    #pagetitle {background-image: url(../../assets/bg_hd.gif);}
12    #pagetitle h1 {background-image: url(../../assets/title_h_bg.gif);}
13</style>
14
15<link rel="stylesheet" type="text/css" href="../../assets/dpSyntaxHighlighter.css">
16<link type="text/css" rel="stylesheet" href="../../build/cssfonts/fonts-min.css" />
17<script type="text/javascript" src="../../build/yui/yui-min.js"></script>
18<link href="assets//anim.css" rel="stylesheet" type="text/css">
19
20</head>
21<body id="yahoo-com" class=" yui-skin-sam">
22<div id="custom-doc" class="yui-t2">
23<div id="hd">
24        <div id="ygunav">
25                <p>
26            <em>
27                <a href="http://developer.yahoo.com/yui/3/">YUI 3.x Home</a> <i> - </i> 
28            </em>
29                </p>
30                <form action="http://search.yahoo.com/search" id="sitesearchform">
31            <input name="vs" type="hidden" value="developer.yahoo.com">
32            <input name="vs" type="hidden" value="yuiblog.com">
33                    <div id="sitesearch">
34                        <label for="searchinput">Site Search (YDN &amp; YUIBlog): </label>
35                            <input type="text" id="searchinput" name="p">
36                            <input type="submit" value="Search" id="searchsubmit" class="ygbt">
37                    </div>
38                </form>
39    </div>
40        <div id="ygma"><a href="../../"><img src="../../assets/logo.gif"  border="0" width="200" height="93"></a></div>
41        <div id="pagetitle"><h1>YUI Library Examples: Animation Utility: Reversing an Animation</h1></div>
42</div>
43<div id="bd">
44
45        <div id="bar-note"><p><strong>Note:</strong> This is YUI 3.x. Looking for <a href="http://developer.yahoo.com/yui/">YUI 2.x</a>?</p></div>
46
47        <div id="yui-main">
48                <div class="yui-b">
49                  <div class="yui-ge">
50                          <div class="yui-u first example" id="main">
51
52        <h2>Animation Utility: Reversing an Animation</h2>
53
54        <div id="example" class="promo">
55        <p>
56        <p>This demonstrates how to use the <code>reverse</code> attribute to change the behavior of the animation.</p>
57<p> Click the icon in the header to toggle the element's <code>height</code>.</p>
58
59        </p>   
60
61        <div class="module example-container ">
62                        <div class="hd exampleHd">
63                        <p class="newWindowButton yui-skin-sam">
64                <a href="reverse_clean.html" target="_blank">View example in new window.</a>
65            </p>
66                </div>          <div id="example-canvas" class="bd">
67
68               
69        <!--BEGIN SOURCE CODE FOR EXAMPLE =============================== -->
70       
71           
72<div id="demo" class="yui-module">
73    <div class="yui-hd">
74        <h4>Animation Demo</h4>
75    </div>
76    <div class="yui-bd">
77        <p>This an example of what you can do with the YUI Animation Utility.</p>
78        <p><em>Follow the instructions above to see the animation in action.</em></p>
79    </div>
80</div>
81<p>This is placeholder text used to demonstrate how the above animation affects subsequent content.</p> 
82<script type="text/javascript">
83YUI({base:"../../build/", timeout: 10000}).use("node-base", "anim-node-plugin", "anim-easing", function(Y) {
84    var module = Y.get('#demo');
85
86    // add fx plugin to module body
87    var content = module.query('.yui-bd').plug(Y.Plugin.NodeFX, {
88        from: { height: 0 },
89        to: {
90            height: function(node) { // dynamic in case of change
91                return node.get('scrollHeight'); // get expanded height (offsetHeight may be zero)
92            }
93        },
94
95        easing: Y.Easing.easeOut,
96        duration: 0.5
97    });
98
99    var onClick = function(e) {
100        module.toggleClass('yui-closed');
101        content.fx.set('reverse', !content.fx.get('reverse')); // toggle reverse
102        content.fx.run();
103    };
104
105    // use dynamic control for dynamic behavior
106    var control = Y.Node.create(
107        '<a title="show/hide content" class="yui-toggle">' +
108            '<em>toggle</em>' +
109        '</a>'
110    );
111
112    // append dynamic control to header section
113    module.query('.yui-hd').appendChild(control);
114    control.on('click', onClick);
115
116});
117
118</script>
119       
120        <!--END SOURCE CODE FOR EXAMPLE =============================== -->
121       
122               
123                </div>
124        </div>                 
125        </div>
126               
127        <h3>Setting up the HTML</h3>
128<p>First we add some HTML to animate.</p>
129<textarea name="code" class="JScript" cols="60" rows="1">
130<div id="demo" class="yui-module">
131    <div class="yui-hd">
132        <h4>Animation Demo</h4>
133        <a title="remove module" class="yui-toggle"><em>-</em></a>
134    </div>
135    <div class="yui-bd">
136        <p>This an example of what you can do with the YUI Animation Utility.</p>
137        <p><em>Follow the instructions above to see the animation in action.</em></p>
138    </div>
139</div>
140</textarea>
141
142<h3>Using the NodeFX Plugin</h3>
143<p>For this example, we will use <code>Node</code>'s <code>fx</code> plugin to animate the element.  The plugin adds the anim instance to the <code>Node</code> instance, pre-configuring it to use the Node instance as the <code>Anim</code>'s node.  The <code>plug</code> method accepts a class to construct and an optional config to pass to the constructor.</p>
144<p>Setting the <code>from</code> attribute to the expanded height of the element allows us to toggle the effect using the <code>reverse</code> attribute, which we will see below (<code>from</code> uses current value when omitted).</p>
145
146<textarea name="code" class="JScript" cols="60" rows="1">
147var module = Y.get('#demo');
148
149// add fx plugin to module body
150var content = module.query('.yui-bd').plug(Y.Plugin.NodeFX, {
151    from: { height: 0 },
152    to: {
153        height: function(node) { // dynamic in case of change
154            return node.get('scrollHeight'); // get expanded height (offsetHeight may be zero)
155        }
156    },
157
158    easing: Y.Easing.easeOut,
159    from: { height: 0 },
160    duration: 0.5
161});
162
163</textarea>
164
165<h3>Creating the Control Element</h3>
166<p>Because our behavior only works when JS is available, let's go ahead and add our control element using JS as well.</p>
167
168<textarea name="code" class="JScript" cols="60" rows="1">
169// use dynamic control for dynamic behavior
170var control = Y.Node.create(
171    '<a title="show/hide content" class="yui-toggle">' +
172        '<em>toggle</em>' +
173    '</a>'
174);
175
176// append dynamic control to header section
177module.query('.yui-hd').appendChild(control);
178</textarea>
179<h3>Toggling Animation Behavior</h3>
180<p>Before calling <code>run</code> in our <code>click</code> handler, we will use the <code>reverse</code> attribute toggle the direction of the animation depending on whether its opening or closing.</p>
181
182<textarea name="code" class="JScript" cols="60" rows="1">
183var onClick = function(e) {
184    module.toggleClass('yui-closed');
185    content.fx.set('reverse', !content.fx.get('reverse')); // toggle reverse
186};
187</textarea>
188
189<h3>Running the Animation</h3>
190<p>Finally we add an event handler to run the animation.</p>
191<textarea name="code" class="JScript" cols="60" rows="1">
192module.query('.yui-toggle').on('click', onClick);
193</textarea>
194
195<h3>Full Script Source</h3>
196<textarea name="code" class="JScript" cols="60" rows="1">
197YUI().use('anim', function(Y) {
198    var module = Y.get('#demo');
199
200    // add fx plugin to module body
201    var content = module.query('.yui-bd').plug(Y.Plugin.NodeFX, {
202        from: { height: 0 },
203        to: {
204            height: function(node) { // dynamic in case of change
205                return node.get('scrollHeight'); // get expanded height (offsetHeight may be zero)
206            }
207        },
208
209        easing: Y.Easing.easeOut,
210        duration: 0.5
211    });
212
213    var onClick = function(e) {
214        module.toggleClass('yui-closed');
215        content.fx.set('reverse', !content.fx.get('reverse')); // toggle reverse
216        content.fx.run();
217    };
218
219    // use dynamic control for dynamic behavior
220    var control = Y.Node.create(
221        '<a title="show/hide content" class="yui-toggle">' +
222            '<em>toggle</em>' +
223        '</a>'
224    );
225
226    // append dynamic control to header section
227    module.query('.yui-hd').appendChild(control);
228    control.on('click', onClick);
229});
230</textarea>
231
232                                </div>
233                                <div class="yui-u sidebar">
234                                       
235                               
236                                        <div id="examples" class="mod box4">
237                        <div class="hd">
238                                                <h4>
239    Animation Utility Examples:</h4>
240                        </div>
241                                                <div class="bd">
242                                                        <ul>
243                                                                <li><a href='../anim/basic.html'>Basic Animation</a></li><li><a href='../anim/easing.html'>Animation Easing</a></li><li><a href='../anim/colors.html'>Animating Colors</a></li><li><a href='../anim/alt-iterations.html'>Alternating Iterations</a></li><li><a href='../anim/anim-xy.html'>Animating XY Position</a></li><li><a href='../anim/curve.html'>Animating Along a Curved Path</a></li><li><a href='../anim/scroll.html'>Animated Scrolling</a></li><li class='selected'><a href='../anim/reverse.html'>Reversing an Animation</a></li><li><a href='../anim/end-event.html'>Using the End Event</a></li><li><a href='../anim/anim-chaining.html'>Chaining Animations Using the <code>end</code> Event</a></li>                                                 </ul>
244                                                </div>
245                                        </div>
246                                       
247                                        <div class="mod box4">
248                        <div class="hd">
249                                                <h4>More Animation Utility Resources:</h4>
250                        </div>
251                        <div class="bd">
252                                                <ul>
253                                                        <!-- <li><a href="http://developer.yahoo.com/yui/anim/">User's Guide</a> (external)</li> -->
254                                                <li><a href="../../api/module_anim.html">API Documentation</a></li>
255</ul>
256                        </div>
257                                        </div>
258                          </div>
259                </div>
260               
261                </div>
262        </div>
263
264
265<div class="yui-b toc3" id="tocWrapper">
266<!-- TABLE OF CONTENTS -->
267<div id="toc">
268       
269<ul>
270<li class="sect first">YUI 3.x Project</li><li class="item"><a title="The Yahoo! User Interface (YUI) Library, 3.x Branch, " href="http://developer.yahoo.com/yui/3/">YUI 3 Web Site (external)</a></li><li class="item"><a title="Examples of every YUI utility and control in action" href="../../examples/">YUI 3 Examples</a></li><li class="item"><a title="Instantly searchable API documentation for the entire YUI library." href="../../api/">YUI 3 API Docs</a></li><li class="item"><a title="The YUI Library can be downloaded from SourceForge" href="http://sourceforge.net/projects/yui/">YUI 3 on Sourceforge (external)</a></li><li class="item"><a title="YUI is free and open, offered under a BSD license." href="http://developer.yahoo.com/yui/3/license.html">YUI License (external)</a></li><li class="sect">YUI 3 Core - Examples</li><li class="item"><a title="YUI (Global Prerequisite) - Functional Examples" href="../../examples/yui/index.html">YUI (Global Prerequisite)</a></li><li class="item"><a title="Event - Functional Examples" href="../../examples/event/index.html">Event</a></li><li class="item"><a title="Node - Functional Examples" href="../../examples/node/index.html">Node</a></li><li class="sect">YUI 3 Component Infrastructure - Examples</li><li class="item"><a title="Attribute - Functional Examples" href="../../examples/attribute/index.html">Attribute</a></li><li class="item"><a title="Base - Functional Examples" href="../../examples/base/index.html">Base</a></li><li class="sect">YUI 3 Utilities - Examples</li><li class="item"><a title="Animation - Functional Examples" href="../../examples/anim/index.html">Animation</a></li><li class="item"><a title="Cookie - Functional Examples" href="../../examples/cookie/index.html">Cookie</a></li><li class="item"><a title="Drag &amp; Drop - Functional Examples" href="../../examples/dd/index.html">Drag &amp; Drop</a></li><li class="item"><a title="Get - Functional Examples" href="../../examples/get/index.html">Get</a></li><li class="item"><a title="IO - Functional Examples" href="../../examples/io/index.html">IO</a></li><li class="item"><a title="JSON (JavaScript Object Notation) - Functional Examples" href="../../examples/json/index.html">JSON</a></li><li class="item"><a title="Queue - Functional Examples" href="../../examples/queue/index.html">Queue</a></li><li class="sect">YUI 3 CSS - Examples</li><li class="item"><a title="YUI CSS Reset - Functional Examples" href="../../examples/cssreset/index.html">CSS Reset</a></li><li class="item"><a title="YUI Fonts - Functional Examples" href="../../examples/cssfonts/index.html">CSS Fonts</a></li><li class="item"><a title="YUI Grids - Functional Examples" href="../../examples/cssgrids/index.html">CSS Grids</a></li><li class="item"><a title="YUI Base - Functional Examples" href="../../examples/cssbase/index.html">CSS Base</a></li><li class="sect">The YUI Community</li><li class="item"><a title="The Yahoo! User Interface Blog" href="http://yuiblog.com">YUI Blog (external)</a></li><li class="item"><a title="The Yahoo! Group YDN-JavaScript hosts the YUI community forum" href="http://tech.groups.yahoo.com/group/ydn-javascript/">YUI Forum (external)</a></li><li class="item"><a title="The Yahoo! Group yui3 is dedicated to the 3.x branch of the Yahoo! User Interface (YUI) Library." href="http://tech.groups.yahoo.com/group/yui3/">YUI 3 Forum (external)</a></li><li class="item"><a title="YUI is used by Yahoo! and by hundreds of other sites, including many you know and love." href="/yui/poweredby/">YUI Sightings (external)</a></li><li class="item"><a title="Videos and podcasts from the YUI Team and from the Yahoo! frontend engineering community." href="http://developer.yahoo.com/yui/theater/">YUI Theater (external)</a></li><li class="sect">YUI Articles on the YUI Website</li><li class="item"><a title="Answers to Frequently Asked Questions about the YUI Library" href="http://developer.yahoo.com/yui/articles/faq/">YUI FAQ (external)</a></li><li class="item"><a title="Yahoo!'s philosophy of Graded Browser Support" href="http://developer.yahoo.com/yui/articles/gbs/">Graded Browser Support (external)</a></li><li class="item"><a title="Reporting Bugs and Making Feature Requests for YUI Components" href="http://developer.yahoo.com/yui/articles/reportingbugs/">Bug Reports/Feature Requests (external)</a></li><li class="item"><a title="Serve YUI source files from Yahoo! -- free, fast, and simple" href="http://developer.yahoo.com/yui/3/articles/hosting/">Serving YUI Files from Yahoo! (external)</a></li></ul>
271</div>
272</div>
273        </div><!--closes bd-->
274
275        <div id="ft">
276        <p class="first">Copyright &copy; 2008 Yahoo! Inc. All rights reserved.</p>
277        <p><a href="http://privacy.yahoo.com/privacy/us/devel/index.html">Privacy Policy</a> -
278            <a href="http://docs.yahoo.com/info/terms/">Terms of Service</a> -
279            <a href="http://docs.yahoo.com/info/copyright/copyright.html">Copyright Policy</a> -
280            <a href="http://careers.yahoo.com/">Job Openings</a></p>
281        </div>
282</div>
283<script src="../../assets/dpSyntaxHighlighter.js"></script>
284<script language="javascript"> 
285dp.SyntaxHighlighter.HighlightAll('code'); 
286</script>
287</body>
288</html>
289<!-- delightfuture.corp.yahoo.com uncompressed/chunked Wed Aug 13 16:45:30 PDT 2008 -->
Note: See TracBrowser for help on using the repository browser.