1+ /*
2+ * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
3+ *
4+ * Uses the built in easing capabilities added In jQuery 1.1
5+ * to offer multiple easing options
6+ *
7+ * TERMS OF USE - jQuery Easing
8+ *
9+ * Open source under the BSD License.
10+ *
11+ * Copyright © 2008 George McGinley Smith
12+ * All rights reserved.
13+ *
14+ * Redistribution and use in source and binary forms, with or without modification,
15+ * are permitted provided that the following conditions are met:
16+ *
17+ * Redistributions of source code must retain the above copyright notice, this list of
18+ * conditions and the following disclaimer.
19+ * Redistributions in binary form must reproduce the above copyright notice, this list
20+ * of conditions and the following disclaimer in the documentation and/or other materials
21+ * provided with the distribution.
22+ *
23+ * Neither the name of the author nor the names of contributors may be used to endorse
24+ * or promote products derived from this software without specific prior written permission.
25+ *
26+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
27+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
28+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
29+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
31+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
32+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
33+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
34+ * OF THE POSSIBILITY OF SUCH DAMAGE.
35+ *
36+ */
37+
38+ // t: current time, b: begInnIng value, c: change In value, d: duration
39+ jQuery . easing [ 'jswing' ] = jQuery . easing [ 'swing' ] ;
40+
41+ jQuery . extend ( jQuery . easing ,
42+ {
43+ def : 'easeOutQuad' ,
44+ swing : function ( x , t , b , c , d ) {
45+ //alert(jQuery.easing.default);
46+ return jQuery . easing [ jQuery . easing . def ] ( x , t , b , c , d ) ;
47+ } ,
48+ easeInQuad : function ( x , t , b , c , d ) {
49+ return c * ( t /= d ) * t + b ;
50+ } ,
51+ easeOutQuad : function ( x , t , b , c , d ) {
52+ return - c * ( t /= d ) * ( t - 2 ) + b ;
53+ } ,
54+ easeInOutQuad : function ( x , t , b , c , d ) {
55+ if ( ( t /= d / 2 ) < 1 ) return c / 2 * t * t + b ;
56+ return - c / 2 * ( ( -- t ) * ( t - 2 ) - 1 ) + b ;
57+ } ,
58+ easeInCubic : function ( x , t , b , c , d ) {
59+ return c * ( t /= d ) * t * t + b ;
60+ } ,
61+ easeOutCubic : function ( x , t , b , c , d ) {
62+ return c * ( ( t = t / d - 1 ) * t * t + 1 ) + b ;
63+ } ,
64+ easeInOutCubic : function ( x , t , b , c , d ) {
65+ if ( ( t /= d / 2 ) < 1 ) return c / 2 * t * t * t + b ;
66+ return c / 2 * ( ( t -= 2 ) * t * t + 2 ) + b ;
67+ } ,
68+ easeInQuart : function ( x , t , b , c , d ) {
69+ return c * ( t /= d ) * t * t * t + b ;
70+ } ,
71+ easeOutQuart : function ( x , t , b , c , d ) {
72+ return - c * ( ( t = t / d - 1 ) * t * t * t - 1 ) + b ;
73+ } ,
74+ easeInOutQuart : function ( x , t , b , c , d ) {
75+ if ( ( t /= d / 2 ) < 1 ) return c / 2 * t * t * t * t + b ;
76+ return - c / 2 * ( ( t -= 2 ) * t * t * t - 2 ) + b ;
77+ } ,
78+ easeInQuint : function ( x , t , b , c , d ) {
79+ return c * ( t /= d ) * t * t * t * t + b ;
80+ } ,
81+ easeOutQuint : function ( x , t , b , c , d ) {
82+ return c * ( ( t = t / d - 1 ) * t * t * t * t + 1 ) + b ;
83+ } ,
84+ easeInOutQuint : function ( x , t , b , c , d ) {
85+ if ( ( t /= d / 2 ) < 1 ) return c / 2 * t * t * t * t * t + b ;
86+ return c / 2 * ( ( t -= 2 ) * t * t * t * t + 2 ) + b ;
87+ } ,
88+ easeInSine : function ( x , t , b , c , d ) {
89+ return - c * Math . cos ( t / d * ( Math . PI / 2 ) ) + c + b ;
90+ } ,
91+ easeOutSine : function ( x , t , b , c , d ) {
92+ return c * Math . sin ( t / d * ( Math . PI / 2 ) ) + b ;
93+ } ,
94+ easeInOutSine : function ( x , t , b , c , d ) {
95+ return - c / 2 * ( Math . cos ( Math . PI * t / d ) - 1 ) + b ;
96+ } ,
97+ easeInExpo : function ( x , t , b , c , d ) {
98+ return ( t == 0 ) ? b : c * Math . pow ( 2 , 10 * ( t / d - 1 ) ) + b ;
99+ } ,
100+ easeOutExpo : function ( x , t , b , c , d ) {
101+ return ( t == d ) ? b + c : c * ( - Math . pow ( 2 , - 10 * t / d ) + 1 ) + b ;
102+ } ,
103+ easeInOutExpo : function ( x , t , b , c , d ) {
104+ if ( t == 0 ) return b ;
105+ if ( t == d ) return b + c ;
106+ if ( ( t /= d / 2 ) < 1 ) return c / 2 * Math . pow ( 2 , 10 * ( t - 1 ) ) + b ;
107+ return c / 2 * ( - Math . pow ( 2 , - 10 * -- t ) + 2 ) + b ;
108+ } ,
109+ easeInCirc : function ( x , t , b , c , d ) {
110+ return - c * ( Math . sqrt ( 1 - ( t /= d ) * t ) - 1 ) + b ;
111+ } ,
112+ easeOutCirc : function ( x , t , b , c , d ) {
113+ return c * Math . sqrt ( 1 - ( t = t / d - 1 ) * t ) + b ;
114+ } ,
115+ easeInOutCirc : function ( x , t , b , c , d ) {
116+ if ( ( t /= d / 2 ) < 1 ) return - c / 2 * ( Math . sqrt ( 1 - t * t ) - 1 ) + b ;
117+ return c / 2 * ( Math . sqrt ( 1 - ( t -= 2 ) * t ) + 1 ) + b ;
118+ } ,
119+ easeInElastic : function ( x , t , b , c , d ) {
120+ var s = 1.70158 ; var p = 0 ; var a = c ;
121+ if ( t == 0 ) return b ; if ( ( t /= d ) == 1 ) return b + c ; if ( ! p ) p = d * .3 ;
122+ if ( a < Math . abs ( c ) ) { a = c ; var s = p / 4 ; }
123+ else var s = p / ( 2 * Math . PI ) * Math . asin ( c / a ) ;
124+ return - ( a * Math . pow ( 2 , 10 * ( t -= 1 ) ) * Math . sin ( ( t * d - s ) * ( 2 * Math . PI ) / p ) ) + b ;
125+ } ,
126+ easeOutElastic : function ( x , t , b , c , d ) {
127+ var s = 1.70158 ; var p = 0 ; var a = c ;
128+ if ( t == 0 ) return b ; if ( ( t /= d ) == 1 ) return b + c ; if ( ! p ) p = d * .3 ;
129+ if ( a < Math . abs ( c ) ) { a = c ; var s = p / 4 ; }
130+ else var s = p / ( 2 * Math . PI ) * Math . asin ( c / a ) ;
131+ return a * Math . pow ( 2 , - 10 * t ) * Math . sin ( ( t * d - s ) * ( 2 * Math . PI ) / p ) + c + b ;
132+ } ,
133+ easeInOutElastic : function ( x , t , b , c , d ) {
134+ var s = 1.70158 ; var p = 0 ; var a = c ;
135+ if ( t == 0 ) return b ; if ( ( t /= d / 2 ) == 2 ) return b + c ; if ( ! p ) p = d * ( .3 * 1.5 ) ;
136+ if ( a < Math . abs ( c ) ) { a = c ; var s = p / 4 ; }
137+ else var s = p / ( 2 * Math . PI ) * Math . asin ( c / a ) ;
138+ if ( t < 1 ) return - .5 * ( a * Math . pow ( 2 , 10 * ( t -= 1 ) ) * Math . sin ( ( t * d - s ) * ( 2 * Math . PI ) / p ) ) + b ;
139+ return a * Math . pow ( 2 , - 10 * ( t -= 1 ) ) * Math . sin ( ( t * d - s ) * ( 2 * Math . PI ) / p ) * .5 + c + b ;
140+ } ,
141+ easeInBack : function ( x , t , b , c , d , s ) {
142+ if ( s == undefined ) s = 1.70158 ;
143+ return c * ( t /= d ) * t * ( ( s + 1 ) * t - s ) + b ;
144+ } ,
145+ easeOutBack : function ( x , t , b , c , d , s ) {
146+ if ( s == undefined ) s = 1.70158 ;
147+ return c * ( ( t = t / d - 1 ) * t * ( ( s + 1 ) * t + s ) + 1 ) + b ;
148+ } ,
149+ easeInOutBack : function ( x , t , b , c , d , s ) {
150+ if ( s == undefined ) s = 1.70158 ;
151+ if ( ( t /= d / 2 ) < 1 ) return c / 2 * ( t * t * ( ( ( s *= ( 1.525 ) ) + 1 ) * t - s ) ) + b ;
152+ return c / 2 * ( ( t -= 2 ) * t * ( ( ( s *= ( 1.525 ) ) + 1 ) * t + s ) + 2 ) + b ;
153+ } ,
154+ easeInBounce : function ( x , t , b , c , d ) {
155+ return c - jQuery . easing . easeOutBounce ( x , d - t , 0 , c , d ) + b ;
156+ } ,
157+ easeOutBounce : function ( x , t , b , c , d ) {
158+ if ( ( t /= d ) < ( 1 / 2.75 ) ) {
159+ return c * ( 7.5625 * t * t ) + b ;
160+ } else if ( t < ( 2 / 2.75 ) ) {
161+ return c * ( 7.5625 * ( t -= ( 1.5 / 2.75 ) ) * t + .75 ) + b ;
162+ } else if ( t < ( 2.5 / 2.75 ) ) {
163+ return c * ( 7.5625 * ( t -= ( 2.25 / 2.75 ) ) * t + .9375 ) + b ;
164+ } else {
165+ return c * ( 7.5625 * ( t -= ( 2.625 / 2.75 ) ) * t + .984375 ) + b ;
166+ }
167+ } ,
168+ easeInOutBounce : function ( x , t , b , c , d ) {
169+ if ( t < d / 2 ) return jQuery . easing . easeInBounce ( x , t * 2 , 0 , c , d ) * .5 + b ;
170+ return jQuery . easing . easeOutBounce ( x , t * 2 - d , 0 , c , d ) * .5 + c * .5 + b ;
171+ }
172+ } ) ;
173+
174+ /*
175+ *
176+ * TERMS OF USE - EASING EQUATIONS
177+ *
178+ * Open source under the BSD License.
179+ *
180+ * Copyright © 2001 Robert Penner
181+ * All rights reserved.
182+ *
183+ * Redistribution and use in source and binary forms, with or without modification,
184+ * are permitted provided that the following conditions are met:
185+ *
186+ * Redistributions of source code must retain the above copyright notice, this list of
187+ * conditions and the following disclaimer.
188+ * Redistributions in binary form must reproduce the above copyright notice, this list
189+ * of conditions and the following disclaimer in the documentation and/or other materials
190+ * provided with the distribution.
191+ *
192+ * Neither the name of the author nor the names of contributors may be used to endorse
193+ * or promote products derived from this software without specific prior written permission.
194+ *
195+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
196+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
197+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
198+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
199+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
200+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
201+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
202+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
203+ * OF THE POSSIBILITY OF SUCH DAMAGE.
204+ *
205+ */
0 commit comments