1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
2 "http://www.w3.org/TR/html4/strict.dtd">
5 <title>Testing dojo.fx</title>
6 <script type="text/javascript" src="../dojo.js" djConfig="isDebug: true"></script>
7 <script type="text/javascript">
8 dojo.require("doh.runner");
9 dojo.require("dojo.fx");
11 dojo.addOnLoad(function(){
15 var s = dojo.fx.slideTo({
21 var d = new doh.Deferred();
22 dojo.connect(s, "onEnd", function(){
23 doh.is(dojo.style("foo", "left"), 500);
24 doh.is(dojo.style("foo", "top"), 50);
25 with(dojo.byId("foo").style){
26 position = left = top = "";
35 dojo.byId("foo").style.height = "";
36 var d = new doh.Deferred();
37 var s = dojo.fx.wipeOut({
40 doh.t(dojo.style("foo", "height") < 5);
48 var d = new doh.Deferred();
49 setTimeout(function(){
53 console.debug(dojo.style("foo", "height"));
54 doh.t(dojo.style("foo", "height") > 10);
66 dojo.byId("foo").style.height = "0px";
67 var d = new doh.Deferred();
68 var w = dojo.fx.wipeIn({
72 var f = dojo.fadeOut({
76 var a = dojo.fx.chain([w,f]);
77 dojo.connect(a, "onEnd", function(){
78 doh.t((w.status()=="stopped"&&f.status()=="stopped"));
90 dojo.byId("foo").style.height = "0px";
91 var d = new doh.Deferred();
92 var w = dojo.fx.wipeIn({
100 var a = dojo.fx.combine([w,f]);
101 dojo.connect(a, "onEnd", function(){
102 doh.t((w.status()=="stopped"&&f.status()=="stopped"));
110 name:"combineBeforeBegin",
112 runTest: function(t){
113 var d = new doh.Deferred();
114 var a = dojo.fadeOut({ node:"foo2", duration:400 });
115 var b = dojo.fadeIn({ node:"foo2", duration:400 });
116 var chain = dojo.fx.combine([a,b]);
117 dojo.connect(chain,"beforeBegin",dojo.hitch(d,"callback",true));
127 var d = new doh.Deferred();
130 var nodes = ["a","b","c","d"];
131 dojo.forEach(nodes,function(n){
132 _anims.push(dojo.fadeOut({ node:n, duration:100, delay: delay += 100 }));
134 var a = dojo.fx.combine(_anims);
135 var timer = (new Date()).getTime();
136 dojo.connect(a,"onEnd",function(){
137 console.warn("delayTest running time:", (new Date()).getTime() - timer, "ms, expected:", a.duration, "ms");
145 name:"delayTestChain",
148 var d = new doh.Deferred();
151 var nodes = ["a","b","c","d"];
152 dojo.forEach(nodes,function(n){
153 _anims.push(dojo.fadeIn({ node:n, duration:100, delay: delay += 100 }));
155 var a = dojo.fx.chain(_anims);
156 var timer = (new Date()).getTime();
157 dojo.connect(a,"onEnd",function(){
158 console.warn("delayTestChain running time:", (new Date()).getTime() - timer, "ms, expected:", a.duration, "ms");
168 runTest: function(t){
169 var d = new doh.Deferred();
170 var a = dojo.fadeOut({ node:"foo2", duration:400 });
171 var b = dojo.fadeIn({ node:"foo2", duration:400 });
172 var combine = dojo.fx.combine([a,b]);
173 dojo.connect(combine,"onEnd",dojo.hitch(d,"callback",true));
180 name:"combineOnPlay",
182 runTest: function(t){
183 var d = new doh.Deferred();
184 var a = dojo.fadeOut({ node:"foo2", duration:400 });
185 var b = dojo.fadeIn({ node:"foo2", duration:400 });
186 var combine = dojo.fx.combine([a,b]);
187 dojo.connect(combine,"onPlay",dojo.hitch(d,"callback",true));
196 runTest: function(t){
197 var d = new doh.Deferred();
198 var a = dojo.fadeOut({ node:"foo2", duration:400 });
199 var b = dojo.fadeIn({ node:"foo2", duration:400 });
200 var chain = dojo.fx.chain([a,b]);
201 dojo.connect(chain,"onEnd",dojo.hitch(d,"callback",true));
210 runTest: function(t){
212 var d = new doh.Deferred();
213 var a = dojo.fadeOut({ node:"foo2", duration:200 });
214 var b = dojo.fadeIn({ node:"foo2", duration:200 });
215 var chain = dojo.fx.chain([a,b]);
216 dojo.connect(chain,"onPlay",dojo.hitch(d,"callback",true));
224 var d = new doh.Deferred();
225 var t = new dojo.fx.Toggler({
228 hideFunc: dojo.fx.wipeOut,
229 showFunc: dojo.fx.wipeIn
232 setTimeout(function(){
234 dojo.connect(sa, "onEnd", dojo.hitch(d, "callback", true));
243 <style type="text/css">
244 @import "../resources/dojo.css";
247 text-shadow: 0px 0px;
249 background-color: #DEDEDE;
254 /* color: #424242; */
255 /* text-align: left; */
257 border: 1px solid #BABABA;
258 background-color: white;
263 -o-border-radius: 10px;
264 -moz-border-radius: 12px;
265 -webkit-border-radius: 10px;
266 -webkit-box-shadow: 0px 3px 7px #adadad;
267 /* -opera-border-radius: 10px; */
269 -moz-box-sizing: border-box;
270 -opera-sizing: border-box;
271 -webkit-box-sizing: border-box;
272 -khtml-box-sizing: border-box;
273 box-sizing: border-box;
275 /* position: absolute; */
280 <div class="box" id="a">a</div><div class="box" id="b">b</div>
281 <div class="box" id="c">c</div><div class="box" id="d">d</div>
283 <div id="foo" class="box">
285 Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
286 semper sagittis velit. Cras in mi. Duis porta mauris ut ligula.
287 Proin porta rutrum lacus. Etiam consequat scelerisque quam. Nulla
288 facilisi. Maecenas luctus venenatis nulla. In sit amet dui non mi
289 semper iaculis. Sed molestie tortor at ipsum. Morbi dictum rutrum
290 magna. Sed vitae risus.
293 Aliquam vitae enim. Duis scelerisque metus auctor est venenatis
294 imperdiet. Fusce dignissim porta augue. Nulla vestibulum. Integer
295 lorem nunc, ullamcorper a, commodo ac, malesuada sed, dolor. Aenean
296 id mi in massa bibendum suscipit. Integer eros. Nullam suscipit
297 mauris. In pellentesque. Mauris ipsum est, pharetra semper,
298 pharetra in, viverra quis, tellus. Etiam purus. Quisque egestas,
299 tortor ac cursus lacinia, felis leo adipiscing nisi, et rhoncus
300 elit dolor eget eros. Fusce ut quam. Suspendisse eleifend leo vitae
301 ligula. Nulla facilisi. Nulla rutrum, erat vitae lacinia dictum,
302 pede purus imperdiet lacus, ut semper velit ante id metus. Praesent
303 massa dolor, porttitor sed, pulvinar in, consequat ut, leo. Nullam
304 nec est. Aenean id risus blandit tortor pharetra congue.
305 Suspendisse pulvinar.
308 <div id="foo2">foo2</div>