Merge pull request #2789 from SergioCrisostomo/upgrade-karma-sauce-launcher
[mootools.git] / Docs / Fx / Fx.Transitions.md
blob63c7a046cb79757107ab69b8eb5d0960a4f3ffab
1 Class: Fx {#Fx}
2 ===============
4 Fx.Transitions overrides the base [Fx][] constructor, and adds the possibility to use the transition option as string.
6 ### Transition option:
8 The equation to use for the effect. See [Fx.Transitions][]. It accepts both a function (ex: Fx.Transitions.Sine.easeIn) or a string ('sine:in', 'bounce:out' or 'quad:in:out') that will map to Fx.Transitions.Sine.easeIn / Fx.Transitions.Bounce.easeOut / Fx.Transitions.Quad.easeInOut
11 Object: Fx.Transitions {#Fx-Transitions}
12 ======================================
14 A collection of tweening transitions for use with the [Fx][] classes.
16 ### Examples:
18         $('myElement').set('tween', {transition: Fx.Transitions.Elastic.easeOut});
19         $('myElement').tween('margin-top', 100);
21 ### See also:
23 - [Robert Penner's Easing Equations](http://www.robertpenner.com/easing/)
25 ### Note:
27 Since MooTools 1.3 this is a native JavaScript Object and not an instance of the deprecated Hash
31 Fx.Transitions Method: linear {#Fx-Transitions:linear}
32 ------------------------------------------------------
34 Displays a linear transition.
36 Fx.Transitions Method: quad {#Fx-Transitions:quad}
37 --------------------------------------------------
39 Displays a quadratic transition. Must be used as Quad.easeIn or Quad.easeOut or Quad.easeInOut.
41 Fx.Transitions Method: cubic {#Fx-Transitions:cubic}
42 ----------------------------------------------------
44 Displays a cubicular transition. Must be used as Cubic.easeIn or Cubic.easeOut or Cubic.easeInOut.
47 Fx.Transitions Method: quart {#Fx-Transitions:quart}
48 ----------------------------------------------------
50 Displays a quartetic transition. Must be used as Quart.easeIn or Quart.easeOut or Quart.easeInOut.
52 Fx.Transitions Method: quint {#Fx-Transitions:quint}
53 ----------------------------------------------------
55 Displays a quintic transition. Must be used as Quint.easeIn or Quint.easeOut or Quint.easeInOut
57 Fx.Transitions Method: pow {#Fx-Transitions:pow}
58 ------------------------------------------------
60 Used to generate Quad, Cubic, Quart and Quint.
62 ### Note:
64 - The default is `p^6`.
66 Fx.Transitions Method: expo {#Fx-Transitions:expo}
67 --------------------------------------------------
69 Displays a exponential transition. Must be used as Expo.easeIn or Expo.easeOut or Expo.easeInOut.
73 Fx.Transitions Method: circ {#Fx-Transitions:circ}
74 --------------------------------------------------
76 Displays a circular transition. Must be used as Circ.easeIn or Circ.easeOut or Circ.easeInOut.
80 Fx.Transitions Method: sine {#Fx-Transitions:sine}
81 --------------------------------------------------
83 Displays a sineousidal transition. Must be used as Sine.easeIn or Sine.easeOut or Sine.easeInOut.
87 Fx.Transitions Method: back {#Fx-Transitions:back}
88 --------------------------------------------------
90 Makes the transition go back, then all forth. Must be used as Back.easeIn or Back.easeOut or Back.easeInOut.
94 Fx.Transitions Method: bounce {#Fx-Transitions:bounce}
95 ------------------------------------------------------
97 Makes the transition bouncy. Must be used as Bounce.easeIn or Bounce.easeOut or Bounce.easeInOut.
101 Fx.Transitions Method: elastic {#Fx-Transitions:elastic}
102 --------------------------------------------------------
104 Elastic curve. Must be used as Elastic.easeIn or Elastic.easeOut or Elastic.easeInOut
108 Class: Fx.Transition {#Fx-Transition}
109 =====================================
111 This class is only useful for math geniuses who want to write their own easing equations.
112 Returns an [Fx][] transition function with 'easeIn', 'easeOut', and 'easeInOut' methods.
114 ### Syntax:
116         var myTransition = new Fx.Transition(transition[, params]);
118 ### Arguments:
120 1. transition - (*function*) Can be a [Fx.Transitions][] function or a user-provided function which will be extended with easing functions.
121 2. params     - (*mixed*, optional) Single value or an array for multiple values to pass as the second parameter for the transition function. A single value will be transformed to an array.
123 ### Returns:
125 * (*function*) A function with easing functions.
127 ### Examples:
129         // Your own function. Here overshoot is bigger (now 1.3) when base -> 1 and base != 1.
130         var myTransition = new Fx.Transition(function(pos, x){
131                 return 1 - Math.pow(Math.abs(Math.log(pos) / Math.log(x && x[0] || Math.E)), pos);
132         }, 1.3);
134         var myFx = new Fx.Tween('myElement', {
135                 property: 'height',
136                 transition: myTransition.easeOut
137         }).start(30, 100);
139 ### See Also:
141 - [Fx.Transitions][]
144 [Fx]: /core/Fx/Fx
145 [Fx.Transitions]: #Fx-Transitions
146 [Element.effect]: /core/Element/#Element:effect
147 [Linear]: ../Docs/assets/images/Linear.png
148 [Quad]: ../Docs/assets/images/Quad.png
149 [Cubic]: ../Docs/assets/images/Cubic.png
150 [Quart]: ../Docs/assets/images/Quart.png
151 [Quint]: ../Docs/assets/images/Quint.png
152 [Expo]: ../Docs/assets/images/Expo.png
153 [Circ]: ../Docs/assets/images/Circ.png
154 [Sine]: ../Docs/assets/images/Sine.png
155 [Back]: ../Docs/assets/images/Back.png
156 [Bounce]: ../Docs/assets/images/Bounce.png
157 [Elastic]: ../Docs/assets/images/Elastic.png