split.js 9.9 KB

12345678
  1. /*
  2. Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
  3. Available via Academic Free License >= 2.1 OR the modified BSD license.
  4. see: http://dojotoolkit.org/license for details
  5. */
  6. if(!dojo._hasResource["dojox.fx.split"]){dojo._hasResource["dojox.fx.split"]=true;dojo.provide("dojox.fx.split");dojo.require("dojo.fx");dojo.require("dojo.fx.easing");dojo.mixin(dojox.fx,{_split:function(_1){_1.rows=_1.rows||3;_1.columns=_1.columns||3;_1.duration=_1.duration||1000;var _2=_1.node=dojo.byId(_1.node),_3=_2.parentNode,_4=_3,_5=dojo.body(),_6="position";while(_4&&_4!=_5&&dojo.style(_4,_6)=="static"){_4=_4.parentNode;}var _7=_4!=_5?dojo.position(_4,true):{x:0,y:0},_8=dojo.position(_2,true),_9=dojo.style(_2,"height"),_a=dojo.style(_2,"width"),_b=dojo.style(_2,"borderLeftWidth")+dojo.style(_2,"borderRightWidth"),_c=dojo.style(_2,"borderTopWidth")+dojo.style(_2,"borderBottomWidth"),_d=Math.ceil(_9/_1.rows),_e=Math.ceil(_a/_1.columns),_f=dojo.create(_2.tagName,{style:{position:"absolute",padding:0,margin:0,border:"none",top:_8.y-_7.y+"px",left:_8.x-_7.x+"px",height:_9+_c+"px",width:_a+_b+"px",background:"none",overflow:_1.crop?"hidden":"visible",zIndex:dojo.style(_2,"zIndex")}},_2,"after"),_10=[],_11=dojo.create(_2.tagName,{style:{position:"absolute",border:"none",padding:0,margin:0,height:_d+_b+"px",width:_e+_c+"px",overflow:"hidden"}});for(var y=0,ly=_1.rows;y<ly;y++){for(var x=0,lx=_1.columns;x<lx;x++){var _12=dojo.clone(_11),_13=dojo.clone(_2),_14=y*_d,_15=x*_e;_13.style.filter="";dojo.removeAttr(_13,"id");dojo.style(_12,{border:"none",overflow:"hidden",top:_14+"px",left:_15+"px"});dojo.style(_13,{position:"static",opacity:"1",marginTop:-_14+"px",marginLeft:-_15+"px"});_12.appendChild(_13);_f.appendChild(_12);var _16=_1.pieceAnimation(_12,x,y,_8);if(dojo.isArray(_16)){_10=_10.concat(_16);}else{_10.push(_16);}}}var _17=dojo.fx.combine(_10);dojo.connect(_17,"onEnd",_17,function(){_f.parentNode.removeChild(_f);});if(_1.onPlay){dojo.connect(_17,"onPlay",_17,_1.onPlay);}if(_1.onEnd){dojo.connect(_17,"onEnd",_17,_1.onEnd);}return _17;},explode:function(_18){var _19=_18.node=dojo.byId(_18.node);_18.rows=_18.rows||3;_18.columns=_18.columns||3;_18.distance=_18.distance||1;_18.duration=_18.duration||1000;_18.random=_18.random||0;if(!_18.fade){_18.fade=true;}if(typeof _18.sync=="undefined"){_18.sync=true;}_18.random=Math.abs(_18.random);_18.pieceAnimation=function(_1a,x,y,_1b){var _1c=_1b.h/_18.rows,_1d=_1b.w/_18.columns,_1e=_18.distance*2,_1f=_18.duration,ps=_1a.style,_20=parseInt(ps.top),_21=parseInt(ps.left),_22=0,_23=0,_24=0;if(_18.random){var _25=(Math.random()*_18.random)+Math.max(1-_18.random,0);_1e*=_25;_1f*=_25;_22=((_18.unhide&&_18.sync)||(!_18.unhide&&!_18.sync))?(_18.duration-_1f):0;_23=Math.random()-0.5;_24=Math.random()-0.5;}var _26=((_1b.h-_1c)/2-_1c*y),_27=((_1b.w-_1d)/2-_1d*x),_28=Math.sqrt(Math.pow(_27,2)+Math.pow(_26,2)),_29=parseInt(_20-_26*_1e+_28*_24),_2a=parseInt(_21-_27*_1e+_28*_23);var _2b=dojo.animateProperty({node:_1a,duration:_1f,delay:_22,easing:(_18.easing||(_18.unhide?dojo.fx.easing.sinOut:dojo.fx.easing.circOut)),beforeBegin:(_18.unhide?function(){if(_18.fade){dojo.style(_1a,{opacity:"0"});}ps.top=_29+"px";ps.left=_2a+"px";}:undefined),properties:{top:(_18.unhide?{start:_29,end:_20}:{start:_20,end:_29}),left:(_18.unhide?{start:_2a,end:_21}:{start:_21,end:_2a})}});if(_18.fade){var _2c=dojo.animateProperty({node:_1a,duration:_1f,delay:_22,easing:(_18.fadeEasing||dojo.fx.easing.quadOut),properties:{opacity:(_18.unhide?{start:"0",end:"1"}:{start:"1",end:"0"})}});return (_18.unhide?[_2c,_2b]:[_2b,_2c]);}else{return _2b;}};var _2d=dojox.fx._split(_18);if(_18.unhide){dojo.connect(_2d,"onEnd",null,function(){dojo.style(_19,{opacity:"1"});});}else{dojo.connect(_2d,"onPlay",null,function(){dojo.style(_19,{opacity:"0"});});}return _2d;},converge:function(_2e){_2e.unhide=true;return dojox.fx.explode(_2e);},disintegrate:function(_2f){var _30=_2f.node=dojo.byId(_2f.node);_2f.rows=_2f.rows||5;_2f.columns=_2f.columns||5;_2f.duration=_2f.duration||1500;_2f.interval=_2f.interval||_2f.duration/(_2f.rows+_2f.columns*2);_2f.distance=_2f.distance||1.5;_2f.random=_2f.random||0;if(typeof _2f.fade=="undefined"){_2f.fade=true;}var _31=Math.abs(_2f.random),_32=_2f.duration-(_2f.rows+_2f.columns)*_2f.interval;_2f.pieceAnimation=function(_33,x,y,_34){var _35=Math.random()*(_2f.rows+_2f.columns)*_2f.interval,ps=_33.style,_36=(_2f.reverseOrder||_2f.distance<0)?((x+y)*_2f.interval):(((_2f.rows+_2f.columns)-(x+y))*_2f.interval),_37=_35*_31+Math.max(1-_31,0)*_36,_38={};if(_2f.unhide){_38.top={start:(parseInt(ps.top)-_34.h*_2f.distance),end:parseInt(ps.top)};if(_2f.fade){_38.opacity={start:"0",end:"1"};}}else{_38.top={end:(parseInt(ps.top)+_34.h*_2f.distance)};if(_2f.fade){_38.opacity={end:"0"};}}var _39=dojo.animateProperty({node:_33,duration:_32,delay:_37,easing:(_2f.easing||(_2f.unhide?dojo.fx.easing.sinIn:dojo.fx.easing.circIn)),properties:_38,beforeBegin:(_2f.unhide?function(){if(_2f.fade){dojo.style(_33,{opacity:"0"});}ps.top=_38.top.start+"px";}:undefined)});return _39;};var _3a=dojox.fx._split(_2f);if(_2f.unhide){dojo.connect(_3a,"onEnd",_3a,function(){dojo.style(_30,{opacity:"1"});});}else{dojo.connect(_3a,"onPlay",_3a,function(){dojo.style(_30,{opacity:"0"});});}return _3a;},build:function(_3b){_3b.unhide=true;return dojox.fx.disintegrate(_3b);},shear:function(_3c){var _3d=_3c.node=dojo.byId(_3c.node);_3c.rows=_3c.rows||6;_3c.columns=_3c.columns||6;_3c.duration=_3c.duration||1000;_3c.interval=_3c.interval||0;_3c.distance=_3c.distance||1;_3c.random=_3c.random||0;if(typeof (_3c.fade)=="undefined"){_3c.fade=true;}var _3e=Math.abs(_3c.random),_3f=(_3c.duration-(_3c.rows+_3c.columns)*Math.abs(_3c.interval));_3c.pieceAnimation=function(_40,x,y,_41){var _42=!(x%2),_43=!(y%2),_44=Math.random()*_3f,_45=(_3c.reverseOrder)?(((_3c.rows+_3c.columns)-(x+y))*_3c.interval):((x+y)*_3c.interval),_46=_44*_3e+Math.max(1-_3e,0)*_45,_47={},ps=_40.style;if(_3c.fade){_47.opacity=(_3c.unhide?{start:"0",end:"1"}:{end:"0"});}if(_3c.columns==1){_42=_43;}else{if(_3c.rows==1){_43=!_42;}}var _48=parseInt(ps.left),top=parseInt(ps.top),_49=_3c.distance*_41.w,_4a=_3c.distance*_41.h;if(_3c.unhide){if(_42==_43){_47.left=_42?{start:(_48-_49),end:_48}:{start:(_48+_49),end:_48};}else{_47.top=_42?{start:(top+_4a),end:top}:{start:(top-_4a),end:top};}}else{if(_42==_43){_47.left=_42?{end:(_48-_49)}:{end:(_48+_49)};}else{_47.top=_42?{end:(top+_4a)}:{end:(top-_4a)};}}var _4b=dojo.animateProperty({node:_40,duration:_3f,delay:_46,easing:(_3c.easing||dojo.fx.easing.sinInOut),properties:_47,beforeBegin:(_3c.unhide?function(){if(_3c.fade){ps.opacity="0";}if(_42==_43){ps.left=_47.left.start+"px";}else{ps.top=_47.top.start+"px";}}:undefined)});return _4b;};var _4c=dojox.fx._split(_3c);if(_3c.unhide){dojo.connect(_4c,"onEnd",_4c,function(){dojo.style(_3d,{opacity:"1"});});}else{dojo.connect(_4c,"onPlay",_4c,function(){dojo.style(_3d,{opacity:"0"});});}return _4c;},unShear:function(_4d){_4d.unhide=true;return dojox.fx.shear(_4d);},pinwheel:function(_4e){var _4f=_4e.node=dojo.byId(_4e.node);_4e.rows=_4e.rows||4;_4e.columns=_4e.columns||4;_4e.duration=_4e.duration||1000;_4e.interval=_4e.interval||0;_4e.distance=_4e.distance||1;_4e.random=_4e.random||0;if(typeof _4e.fade=="undefined"){_4e.fade=true;}var _50=(_4e.duration-(_4e.rows+_4e.columns)*Math.abs(_4e.interval));_4e.pieceAnimation=function(_51,x,y,_52){var _53=_52.h/_4e.rows,_54=_52.w/_4e.columns,_55=!(x%2),_56=!(y%2),_57=Math.random()*_50,_58=(_4e.interval<0)?(((_4e.rows+_4e.columns)-(x+y))*_4e.interval*-1):((x+y)*_4e.interval),_59=_57*_4e.random+Math.max(1-_4e.random,0)*_58,_5a={},ps=_51.style;if(_4e.fade){_5a.opacity=(_4e.unhide?{start:0,end:1}:{end:0});}if(_4e.columns==1){_55=!_56;}else{if(_4e.rows==1){_56=_55;}}var _5b=parseInt(ps.left),top=parseInt(ps.top);if(_55){if(_56){_5a.top=_4e.unhide?{start:top+_53*_4e.distance,end:top}:{start:top,end:top+_53*_4e.distance};}else{_5a.left=_4e.unhide?{start:_5b+_54*_4e.distance,end:_5b}:{start:_5b,end:_5b+_54*_4e.distance};}}if(_55!=_56){_5a.width=_4e.unhide?{start:_54*(1-_4e.distance),end:_54}:{start:_54,end:_54*(1-_4e.distance)};}else{_5a.height=_4e.unhide?{start:_53*(1-_4e.distance),end:_53}:{start:_53,end:_53*(1-_4e.distance)};}var _5c=dojo.animateProperty({node:_51,duration:_50,delay:_59,easing:(_4e.easing||dojo.fx.easing.sinInOut),properties:_5a,beforeBegin:(_4e.unhide?function(){if(_4e.fade){dojo.style(_51,"opacity",0);}if(_55){if(_56){ps.top=(top+_53*(1-_4e.distance))+"px";}else{ps.left=(_5b+_54*(1-_4e.distance))+"px";}}else{ps.left=_5b+"px";ps.top=top+"px";}if(_55!=_56){ps.width=(_54*(1-_4e.distance))+"px";}else{ps.height=(_53*(1-_4e.distance))+"px";}}:undefined)});return _5c;};var _5d=dojox.fx._split(_4e);if(_4e.unhide){dojo.connect(_5d,"onEnd",_5d,function(){dojo.style(_4f,{opacity:"1"});});}else{dojo.connect(_5d,"play",_5d,function(){dojo.style(_4f,{opacity:"0"});});}return _5d;},unPinwheel:function(_5e){_5e.unhide=true;return dojox.fx.pinwheel(_5e);},blockFadeOut:function(_5f){var _60=_5f.node=dojo.byId(_5f.node);_5f.rows=_5f.rows||5;_5f.columns=_5f.columns||5;_5f.duration=_5f.duration||1000;_5f.interval=_5f.interval||_5f.duration/(_5f.rows+_5f.columns*2);_5f.random=_5f.random||0;var _61=Math.abs(_5f.random),_62=_5f.duration-(_5f.rows+_5f.columns)*_5f.interval;_5f.pieceAnimation=function(_63,x,y,_64){var _65=Math.random()*_5f.duration,_66=(_5f.reverseOrder)?(((_5f.rows+_5f.columns)-(x+y))*Math.abs(_5f.interval)):((x+y)*_5f.interval),_67=_65*_61+Math.max(1-_61,0)*_66,_68=dojo.animateProperty({node:_63,duration:_62,delay:_67,easing:(_5f.easing||dojo.fx.easing.sinInOut),properties:{opacity:(_5f.unhide?{start:"0",end:"1"}:{start:"1",end:"0"})},beforeBegin:(_5f.unhide?function(){dojo.style(_63,{opacity:"0"});}:function(){_63.style.filter="";})});return _68;};var _69=dojox.fx._split(_5f);if(_5f.unhide){dojo.connect(_69,"onEnd",_69,function(){dojo.style(_60,{opacity:"1"});});}else{dojo.connect(_69,"onPlay",_69,function(){dojo.style(_60,{opacity:"0"});});}return _69;},blockFadeIn:function(_6a){_6a.unhide=true;return dojox.fx.blockFadeOut(_6a);}});}