root / trunk / web / dojo / dojox / widget / rotator / Pan.js
History | View | Annotate | Download (1.85 KB)
| 1 |
/*
|
|---|---|
| 2 |
Copyright (c) 2004-2010, 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 |
|
| 7 |
|
| 8 |
if(!dojo._hasResource["dojox.widget.rotator.Pan"]){ |
| 9 |
dojo._hasResource["dojox.widget.rotator.Pan"]=true; |
| 10 |
dojo.provide("dojox.widget.rotator.Pan");
|
| 11 |
dojo.require("dojo.fx");
|
| 12 |
(function(d){
|
| 13 |
var _1=0,_2=1,UP=2,_3=3; |
| 14 |
function _4(_5,_6){ |
| 15 |
var n=_6.next.node,r=_6.rotatorBox,m=_5%2,a=m?"left":"top",s=(m?r.w:r.h)*(_5<2?-1:1),p={},q={}; |
| 16 |
d.style(n,"display",""); |
| 17 |
p[a]={start:0,end:-s};
|
| 18 |
q[a]={start:s,end:0};
|
| 19 |
return d.fx.combine([d.animateProperty({node:_6.current.node,duration:_6.duration,properties:p,easing:_6.easing}),d.animateProperty({node:n,duration:_6.duration,properties:q,easing:_6.easing})]); |
| 20 |
}; |
| 21 |
function _7(n,z){ |
| 22 |
d.style(n,"zIndex",z);
|
| 23 |
}; |
| 24 |
d.mixin(dojox.widget.rotator,{pan:function(_8){
|
| 25 |
var w=_8.wrap,p=_8.rotator.panes,_9=p.length,z=_9,j=_8.current.idx,k=_8.next.idx,nw=Math.abs(k-j),ww=Math.abs((_9-Math.max(j,k))+Math.min(j,k))%_9,_a=j<k,_b=_3,_c=[],_d=[],_e=_8.duration;
|
| 26 |
if((!w&&!_a)||(w&&(_a&&nw>ww||!_a&&nw<ww))){
|
| 27 |
_b=_2; |
| 28 |
} |
| 29 |
if(_8.continuous){
|
| 30 |
if(_8.quick){
|
| 31 |
_e=Math.round(_e/(w?Math.min(ww,nw):nw)); |
| 32 |
} |
| 33 |
_7(p[j].node,z--); |
| 34 |
var f=(_b==_3);
|
| 35 |
while(1){ |
| 36 |
var i=j;
|
| 37 |
if(f){
|
| 38 |
if(++j>=_9){
|
| 39 |
j=0;
|
| 40 |
} |
| 41 |
}else{
|
| 42 |
if(--j<0){ |
| 43 |
j=_9-1;
|
| 44 |
} |
| 45 |
} |
| 46 |
var x=p[i],y=p[j];
|
| 47 |
_7(y.node,z--); |
| 48 |
_c.push(_4(_b,d.mixin({easing:function(m){
|
| 49 |
return m;
|
| 50 |
}},_8,{current:x,next:y,duration:_e})));
|
| 51 |
if((f&&j==k)||(!f&&j==k)){
|
| 52 |
break;
|
| 53 |
} |
| 54 |
_d.push(y.node); |
| 55 |
} |
| 56 |
var _f=d.fx.chain(_c),h=d.connect(_f,"onEnd",function(){ |
| 57 |
d.disconnect(h); |
| 58 |
d.forEach(_d,function(q){
|
| 59 |
d.style(q,{display:"none",left:0,opacity:1,top:0,zIndex:0});
|
| 60 |
}); |
| 61 |
}); |
| 62 |
return _f;
|
| 63 |
} |
| 64 |
return _4(_b,_8);
|
| 65 |
},panDown:function(_10){ |
| 66 |
return _4(_1,_10);
|
| 67 |
},panRight:function(_11){ |
| 68 |
return _4(_2,_11);
|
| 69 |
},panUp:function(_12){ |
| 70 |
return _4(UP,_12);
|
| 71 |
},panLeft:function(_13){ |
| 72 |
return _4(_3,_13);
|
| 73 |
}}); |
| 74 |
})(dojo); |
| 75 |
} |