├── .gitignore ├── bower.json ├── package.json ├── COPYRIGHT.md ├── tests ├── visual-absolute.html ├── visual-highcharts.html ├── visual-fadeOutZero.html ├── visual-right.html ├── visual-slideToggle.html ├── visual-default3d.html ├── visual-easing.html ├── visual-startPosition.html ├── visual-avoidTransforms.html ├── visual-avoidCSSTransitions.html ├── visual-context-multiple.html ├── visual-disabledByDefault.html ├── visual-animated.html ├── visual-context.html └── visual-nochange.html ├── jquery.animate-enhanced.min.js ├── index.html ├── README.md └── scripts └── src └── jquery.animate-enhanced.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_store -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "benbarnett/jquery-animate-enhanced", 3 | "main": "scripts/src/jquery.animate-enhanced.js", 4 | "description": "Extend $.animate() to detect CSS transitions for Webkit, Mozilla, IE>=10 and Opera and convert animations automatically.", 5 | "license": "MIT (http://opensource.org/licenses/mit-license.php)", 6 | "ignore": [ 7 | ".jshintrc", 8 | "**/*.txt" 9 | ], 10 | "dependencies": { 11 | "jquery": ">=1.3.2" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jQuery-Animate-Enhanced", 3 | "version": "1.0.7", 4 | "description": "Extend $.animate() to detect CSS transitions for Webkit, Mozilla, IE>=10 and Opera and convert animations automatically.", 5 | "main": "scripts/src/jquery.animate-enhanced.js", 6 | "directories": { 7 | "test": "tests" 8 | }, 9 | "scripts": { 10 | "test": "echo \"Error: no test specified\" && exit 1" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "https://github.com/benbarnett/jQuery-Animate-Enhanced.git" 15 | }, 16 | "author": "Ben Barnett", 17 | "license": "MIT (http://opensource.org/licenses/mit-license.php)", 18 | "bugs": { 19 | "url": "https://github.com/benbarnett/jQuery-Animate-Enhanced/issues" 20 | }, 21 | "homepage": "https://github.com/benbarnett/jQuery-Animate-Enhanced" 22 | } 23 | -------------------------------------------------------------------------------- /COPYRIGHT.md: -------------------------------------------------------------------------------- 1 | Copyright 2017, Ben Barnett. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files 4 | (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, 5 | publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, 6 | subject to the following conditions: 7 | 8 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 9 | 10 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 11 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE 12 | FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 13 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 14 | -------------------------------------------------------------------------------- /tests/visual-absolute.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Absolute Animation 5 | 6 | 7 | 21 | 22 | 23 | 24 | 73 | 74 | 75 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /tests/visual-highcharts.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Highcharts Demo 7 | 8 | 11 | 12 | 13 | 14 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 |
76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /tests/visual-fadeOutZero.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | jQuery Animations with automatic CSS3 transitions when possible 7 | 8 | 9 | 10 | 11 | 73 | 74 | 75 |

jquery.animate-enhanced plugin test

76 |

Test: $.fadeOut(0)

77 | 78 |

Demo

79 |
80 | Content 81 |
82 | 83 | 84 | 85 | 86 | 87 | 88 | 99 | 100 | 101 | 102 | -------------------------------------------------------------------------------- /tests/visual-right.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | jQuery Animations with automatic CSS3 transitions when possible 7 | 8 | 9 | 10 | 11 | 74 | 75 | 76 |

jquery.animate-enhanced plugin test

77 |

Test: Right negative position animation

78 | 79 |

Demo

80 |
81 | Content to slide 82 |
83 | 84 | 85 | 86 | 87 | 88 | 89 | 98 | 99 | 100 | 101 | -------------------------------------------------------------------------------- /tests/visual-slideToggle.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | jQuery Animations with automatic CSS3 transitions when possible 7 | 8 | 9 | 10 | 11 | 73 | 74 | 75 |

jquery.animate-enhanced plugin test

76 |

Test: $.slideToggle()

77 | 78 |

Demo

79 |
80 | Content to slide 81 |
82 | 83 | 84 | 85 | 86 | 87 | 88 | 99 | 100 | 101 | 102 | -------------------------------------------------------------------------------- /tests/visual-default3d.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | jQuery Animations with automatic CSS3 transitions when possible 7 | 8 | 9 | 10 | 11 | 73 | 74 | 75 |

jquery.animate-enhanced plugin test

76 |

Test: Use 3D by Default

77 | 78 |

Demo

79 |
80 | Content to slide 81 |
82 | 83 | 84 | 85 | 86 | 87 | 88 | 99 | 100 | 101 | 102 | -------------------------------------------------------------------------------- /tests/visual-easing.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | jQuery Animations with automatic CSS3 transitions when possible 7 | 8 | 9 | 10 | 11 | 73 | 74 | 75 |

jquery.animate-enhanced plugin test

76 |

Test: $.animate() with 'easeInQuint' easing for CSS but no jQuery easing plugin loaded.

77 | 78 |

Demo

79 |
80 | Content to slide 81 |
82 | 83 | 84 | 85 | 86 | 87 | 88 | 99 | 100 | 101 | 102 | -------------------------------------------------------------------------------- /tests/visual-startPosition.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | jQuery Animations with automatic CSS3 transitions when possible 7 | 8 | 9 | 10 | 11 | 75 | 76 | 77 |

jquery.animate-enhanced plugin test

78 |

Test: != 0 starting left position

79 | 80 |

Demo

81 |
82 | Content to slide 83 |
84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 98 | 99 | 100 | 101 | -------------------------------------------------------------------------------- /tests/visual-avoidTransforms.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | jQuery Animations with automatic CSS3 transitions when possible 7 | 8 | 9 | 10 | 11 | 73 | 74 | 75 |

jquery.animate-enhanced plugin test

76 |

Test: $().animate({ avoidTransforms: true })

77 | 78 |

Demo

79 |
80 | Content to slide 81 |
82 | 83 | 84 | 85 |

Result here.

86 | 87 | 88 | 89 | 90 | 102 | 103 | 104 | 105 | -------------------------------------------------------------------------------- /tests/visual-avoidCSSTransitions.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | jQuery Animations with automatic CSS3 transitions when possible 7 | 8 | 9 | 10 | 11 | 73 | 74 | 75 |

jquery.animate-enhanced plugin test

76 |

Test: $().animate({ avoidCSSTransitions: true })

77 | 78 |

Demo

79 |
80 | Content to slide 81 |
82 | 83 | 84 | 85 |

Result here.

86 | 87 | 88 | 89 | 90 | 102 | 103 | 104 | 105 | -------------------------------------------------------------------------------- /tests/visual-context-multiple.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | jQuery Animations with automatic CSS3 transitions when possible 7 | 8 | 9 | 10 | 11 | 83 | 84 | 85 |

jquery.animate-enhanced plugin test

86 |

Test: Context for multiple elements

87 | 88 |

Demo

89 |
Area 1
90 |
Area 2
91 |
Area 3
92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 109 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /tests/visual-disabledByDefault.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | jQuery Animations with automatic CSS3 transitions when possible 7 | 8 | 9 | 10 | 11 | 73 | 74 | 75 |

jquery.animate-enhanced plugin test

76 |

Test: $().toggleDisabledByDefault()

77 |

Check Console for results

78 | 79 |

Demo

80 |
81 | Content to slide 82 |
83 | 84 | 85 | 86 |

Result here.

87 | 88 | 89 | 90 | 91 | 106 | 107 | 108 | 109 | -------------------------------------------------------------------------------- /tests/visual-animated.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | jQuery Animations with automatic CSS3 transitions when possible 7 | 8 | 9 | 10 | 11 | 73 | 74 | 75 |

jquery.animate-enhanced plugin test

76 |

Test: Report $(el).is(':animated')

77 | 78 |

Demo

79 |
80 | Content to slide 81 |
82 | 83 | 84 | 85 |

Result here.

86 | 87 | 88 | 89 | 90 | 107 | 108 | 109 | 110 | -------------------------------------------------------------------------------- /tests/visual-context.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | jQuery Animations with automatic CSS3 transitions when possible 7 | 8 | 9 | 10 | 11 | 78 | 79 | 80 |

jquery.animate-enhanced plugin test

81 |

Test: Context for callback

82 | 83 |

Demo

84 |
85 | Test Image 86 |
87 | 88 | 89 | 90 | 91 | 92 | 93 | 109 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /tests/visual-nochange.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | jQuery Animations with automatic CSS3 transitions when possible 7 | 8 | 9 | 10 | 11 | 82 | 83 | 84 |

jquery.animate-enhanced plugin test

85 |

Test: Callback on no animation

86 | 87 |

Demo

88 |
89 | Test Image 90 |
91 | 92 | 93 | 94 | 95 | 96 | 97 | 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /jquery.animate-enhanced.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | jquery.animate-enhanced plugin v1.11 3 | --- 4 | http://github.com/benbarnett/jQuery-Animate-Enhanced 5 | http://benbarnett.net 6 | @benpbarnett 7 | */ 8 | (function(d,w){"function"===typeof define&&define.amd?define(["jquery"],function(){return w.apply(d,arguments)}):"object"===typeof module&&module.exports?module.exports=w.call(d,require("jquery")):w.call(d,d.jQuery)})("object"===typeof global?global:this,function(d){function w(a,b,k,c){if("d"!=k&&D(a)){var f=K.exec(b),e="auto"===a.css(k)?0:a.css(k),e="string"==typeof e?A(e):e;"string"==typeof b&&A(b);c=!0===c?0:e;var g=a.is(":hidden"),n=a.translation();"left"==k&&(c=parseInt(e,10)+n.x);"right"==k&& 9 | (c=parseInt(e,10)+n.x);"top"==k&&(c=parseInt(e,10)+n.y);"bottom"==k&&(c=parseInt(e,10)+n.y);if(f||"show"!=b)f||"hide"!=b||(c=0);else if(c=1,g)elem=a[0],elem.style&&(display=elem.style.display,d._data(elem,"olddisplay")||"none"!==display||(display=elem.style.display=""),""===display&&"none"===d.css(elem,"display")&&d._data(elem,"olddisplay",L(elem.tagName)),""===display||"none"===display)&&(elem.style.display=d._data(elem,"olddisplay")||""),a.css("opacity",0);return f?(a=parseFloat(f[2]),f[1]&&(a= 10 | ("-="===f[1]?-1:1)*a+parseInt(c,10)),f[3]&&"px"!=f[3]&&(a+=f[3]),a):c}}function M(a,b,k,c,f,e,g,n){var m=a.data(r),m=m&&!q(m)?m:d.extend(!0,{},N),s=f;if(-1=e.duration||e.step?G.apply(this,arguments):this[!0===e.queue?"queue":"each"](function(){var b=d(this),c=d.extend({},e),k=function(c){var e=b.data(r)||{original:{}},g={};if(2==c.eventPhase){if(!0!==a.leaveTransforms){for(c=l.length-1;0<=c;c--)g[l[c]+"transform"]="";if(f&&"undefined"!== 17 | typeof e.meta){c=0;for(var h;h=B[c];++c){var k=e.meta[h+"_o"];"undefined"!==typeof k&&(g[h]=k+"px",d(this).css(h,g[h]))}}}b.unbind("webkitTransitionEnd oTransitionEnd transitionend").css(e.original).css(g).data(r,null);"hide"===a.opacity&&(elem=b[0],elem.style&&(display=d.css(elem,"display"),"none"===display||d._data(elem,"olddisplay")||d._data(elem,"olddisplay",display),elem.style.display="none"),b.css("opacity",""));n.call(this)}},p={bounce:"cubic-bezier(0.0, 0.35, .5, 1.3)",linear:"linear",swing:"ease-in-out", 18 | easeInQuad:"cubic-bezier(0.550, 0.085, 0.680, 0.530)",easeInCubic:"cubic-bezier(0.550, 0.055, 0.675, 0.190)",easeInQuart:"cubic-bezier(0.895, 0.030, 0.685, 0.220)",easeInQuint:"cubic-bezier(0.755, 0.050, 0.855, 0.060)",easeInSine:"cubic-bezier(0.470, 0.000, 0.745, 0.715)",easeInExpo:"cubic-bezier(0.950, 0.050, 0.795, 0.035)",easeInCirc:"cubic-bezier(0.600, 0.040, 0.980, 0.335)",easeInBack:"cubic-bezier(0.600, -0.280, 0.735, 0.045)",easeOutQuad:"cubic-bezier(0.250, 0.460, 0.450, 0.940)",easeOutCubic:"cubic-bezier(0.215, 0.610, 0.355, 1.000)", 19 | easeOutQuart:"cubic-bezier(0.165, 0.840, 0.440, 1.000)",easeOutQuint:"cubic-bezier(0.230, 1.000, 0.320, 1.000)",easeOutSine:"cubic-bezier(0.390, 0.575, 0.565, 1.000)",easeOutExpo:"cubic-bezier(0.190, 1.000, 0.220, 1.000)",easeOutCirc:"cubic-bezier(0.075, 0.820, 0.165, 1.000)",easeOutBack:"cubic-bezier(0.175, 0.885, 0.320, 1.275)",easeInOutQuad:"cubic-bezier(0.455, 0.030, 0.515, 0.955)",easeInOutCubic:"cubic-bezier(0.645, 0.045, 0.355, 1.000)",easeInOutQuart:"cubic-bezier(0.770, 0.000, 0.175, 1.000)", 20 | easeInOutQuint:"cubic-bezier(0.860, 0.000, 0.070, 1.000)",easeInOutSine:"cubic-bezier(0.445, 0.050, 0.550, 0.950)",easeInOutExpo:"cubic-bezier(1.000, 0.000, 0.000, 1.000)",easeInOutCirc:"cubic-bezier(0.785, 0.135, 0.150, 0.860)",easeInOutBack:"cubic-bezier(0.680, -0.550, 0.265, 1.550)"},t={},p=p[c.easing||"swing"]?p[c.easing||"swing"]:c.easing||"swing",h;for(h in a)if(-1===d.inArray(h,T)){var u=-1 3 | 4 | 5 | 6 | 7 | jQuery Animations with automatic CSS3 transitions when possible 8 | 9 | 10 | 11 | 12 | 13 | 63 | 64 | 65 |

jquery.animate-enhanced plugin

66 |

Extend $.animate() to detect CSS transitions for Webkit, Mozilla and Opera and convert animations automatically. Compatible with IE6+

67 | 68 |

Properties supported: (more to come)

69 | 76 | 77 |

New features in v1.0:

78 | 94 | 95 | 96 | 97 | 98 |

Note that any properties not mentioned above will simply be handled by the standard jQuery $.animate() method. This plugin adds new functionality without taking any away. Requires jQuery 1.3.2+

99 | 100 |

Demo

101 |

The animation types can be used in any combination, and with any number of elements. See 3 different types below:

102 | 103 |
104 |

Animate with CSS3 (leaveTransforms:false)

105 |
106 | 107 |
108 |

Animate with CSS3 (leaveTransforms:true)

109 |
110 | 111 |
112 |

Animate with DOM (avoidTransforms:true)

113 |
114 | 115 | 116 | 117 |

Awaiting button click...

118 | 119 | 120 | 121 |

What it does

122 |

The plugin will analyse the properties you're animating on, and select the most appropriate method for the browser in use. This means your transitions on left, top and opacity will convert to a CSS3 transition on Webkit & Mozilla agents that support it, and Opera 10.50+. If the user is on a browser that has no CSS3 transitions, this plugin knows about it and won't get involved. Silent degradation :)

123 | 124 |

Multiple callback mechanisms are created internally to monitor for DOM manipulation and for all 'transitionend' CSS3 events to be picked up. This means you have one neat callback() for the whole animation regardless on whether the plugin is using CSS3, DOM, or both for its animations.

125 | 126 |

Progressively enhanced CSS3 animations without having to do any browser detection or special CSS, therefore using the same Javascript across your applications and websites.

127 | 128 |

As this plugin uses CSS3 translate where available, there is an internal callback mechanism to reset the 'left' and/or 'top' properties so that your layout is unaffected.

129 | 130 |

Usage

131 |

Usage is identical to the jQuery animate() function, but it comes with 3 new paramaters, which are totally optional and safe to leave untouched for general use:

132 | 148 | 149 |

Download

150 | 154 | 155 |

Credits

156 | 161 | 162 |

License

163 |

Licensed under the MIT License.

164 | 165 |
166 | 167 | 168 |

Comments

169 |

Please DO NOT put bug reports on the comments below. Feel free to report any issues on the Github Issues page.

170 | 171 |
172 |
173 | 183 | 184 | blog comments powered by Disqus 185 | 186 | 187 | Fork me on GitHub 188 | 189 | 190 | 191 | 218 | 219 | 232 | 233 | 241 | 242 | 243 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | jquery.animate-enhanced plugin 2 | =============== 3 | 4 | Extend $.animate() to detect CSS transitions for Webkit, Mozilla, IE >= 10 and Opera and convert animations automatically. Compatible with IE6+ 5 | 6 | Tested with jQuery 1.3.2 to 1.8.0 7 | 8 | Properties supported: (more to come) 9 | ----------------- 10 | 11 | * left : using translate(x, y) or translate3d(x, y, z) 12 | * top : using translate(x, y) or translate3d(x, y, z) 13 | * right 14 | * bottom 15 | * opacity 16 | * width 17 | * height 18 | 19 | Note that any properties not mentioned above will simply be handled by the standard jQuery $.animate() method. This plugin adds new functionality without taking any away. 20 | 21 | The idea is to simply enhance existing animations with a lightweight 'drop-in' plugin. Those looking for features such as IE transformations & translate() functionality should consider http://plugins.jquery.com/project/2d-transform 22 | 23 | 24 | Demo 25 | ----------------- 26 | Simple animation demo and documentation found here: http://playground.benbarnett.net/jquery-animate-enhanced/ 27 | 28 | 29 | What it does 30 | ----------------- 31 | 32 | The plugin will analyse the properties you're animating on, and select the most appropriate method for the browser in use. This means your transitions on left, top and opacity will convert to a CSS3 transition on Webkit & Mozilla agents that support it, and Opera 10.50+. If the user is on a browser that has no CSS3 transitions, this plugin knows about it and won't get involved. Silent degradation. 33 | 34 | Multiple callback mechanisms are created internally to monitor for DOM manipulation and for all 'transitionend' CSS3 events to be picked up. This means you have one neat callback() for the whole animation regardless on whether the plugin is using CSS3, DOM, or both for its animations. 35 | 36 | Progressively enhanced CSS3 animations without having to do any browser detection or special CSS, therefore using the same Javascript across your applications and websites. 37 | 38 | As this plugin uses CSS3 translate where available, there is an internal callback mechanism to reset the 'left' and/or 'top' properties so that your layout is unaffected. 39 | 40 | Usage 41 | ----------------- 42 | 43 | Usage is identical to the jQuery animate() function, but it comes with 3 new paramaters, which are totally optional and safe to leave untouched for general use: 44 | 45 | ### avoidTransforms: (Boolean) 46 | By default the plugin will convert left and top animations to the CSS3 style -webkit-transform (or equivalent) to aid hardware acceleration. This functionality can be disabled by setting this to true. 47 | 48 | ### useTranslate3d: (Boolean) 49 | This will be auto-detected and set to true if the browser supports it. Set to true/false to force a specific mode. 3D is recommended for iPhone/iPad development ([here's why](http://www.benbarnett.net/2010/08/30/writing-html-and-css-for-mobile-safari-just-the-same-old-code/)). 50 | 51 | ### leaveTransforms: (Boolean) 52 | By default if the plugin is animating a left or a top property, the translate (2d or 3d depending on setting above) CSS3 transformation will be used. To preserve other layout dependencies, once the transition is complete, these transitions are removed and converted back to the real left and top values. Set this to true to skip this functionality. 53 | 54 | ### avoidCSSTransitions: (Boolean) 55 | Set this to true to revert to native animate() method, avoiding the plugin entirely. The default for this setting is false, but can be overridden using $.toggleDisabledByDefault() 56 | 57 | 58 | Useful methods 59 | ----------------- 60 | 61 | The following methods have been added to the public jQuery object, which you may or may not find useful: 62 | 63 | * $.toggle3DByDefault() 64 | Toggle for plugin settings to automatically use translate3d (where available; its safe to set to true even if the browser doesn't support). 65 | Returns new setting 66 | * $.toggleDisabledByDefault() 67 | Toggle the plugin to be disabled by default (can be overridden per animation with avoidCSSTransitions described above) 68 | Returns new setting 69 | * $.setDisabledByDefault(value) 70 | Explicitly disable or enable the plugin (can be overridden per animation with avoidCSSTransitions described above) 71 | Returns new setting 72 | * $(e).translation() 73 | Returns current X and Y coordinates for (e) no matter how the element is being positioned 74 | Returns in the format { x: 0, y: 0 } 75 | 76 | 77 | Note 78 | ----------------- 79 | 80 | Since v0.77, the plugin will now automatically use 3D Translations where supported. To override this functionality, you can either use the parameter above, or run $.toggle3DByDefault(); 81 | 82 | 83 | Changelog 84 | ----------------- 85 | 86 | 1.11 (08/07/2014): 87 | 88 | * Merging PR #157, fixes #156 for animating with 0 89 | 90 | 1.10 (09/04/2014): 91 | 92 | * Merging PR #153 Don't try to restore values which weren't saved 93 | 94 | 1.09 (09/04/2014): 95 | 96 | * Merging PR #154 Added support of AMD and Node.js (via browserify) environments 97 | 98 | 1.08 (16/01/2014): 99 | 100 | * Merging PR #147 Access element tag name appropriately 101 | 102 | 1.07 (06/12/2013): 103 | 104 | * Other units, beside '%' should also be kept 105 | 106 | 1.06 (06/12/2013): 107 | 108 | * Merging PR #140 Do not change a user defined display mode for elements, after show/hide 109 | 110 | 1.05 (14/08/2013): 111 | 112 | * Merging PR #124 fix for highcharts clash. Thanks @bensonc! 113 | 114 | 1.04 (14/08/2013): 115 | 116 | * Using fix from issue #69 by @rickyk586 to support percentages 117 | 118 | 1.03 (19/7/2013): 119 | 120 | * Merge PR #129 (Use originalAnimateMethod if a step callback function is provided.) /thx @lehni 121 | 122 | 1.02 (8/5/2013): 123 | 124 | * Fixing use3D default flags. It must explicitly be set to false to disable 3d now, the plugin by default will use it if available. (issue #110) 125 | 126 | 1.01 (8/5/2013): 127 | 128 | * Adding appropriate display value for wider range of elements (issue #121 - thanks smacky) 129 | 130 | 1.0 (8/5/2103): 131 | 132 | * Fix avoidTransforms: true behaviour for directional transitions 133 | 134 | 0.99 (5/12/2012): 135 | 136 | * PR #109 Added support for list-item nodes. FadeIn on tags was omitting the list-style support. (thx @SeanCannon) 137 | 138 | 0.98 (12/11/2012): 139 | 140 | * Merging pull request #106 thx @gboysko - checking for ownerDocument before using getComputedStyle 141 | 142 | 0.97 (6/11/2012): 143 | 144 | * Merging pull request #104 thx @gavrochelegnou - .bind instead of .one 145 | 146 | 0.96a (20/08/2012): 147 | 148 | * Checking event is from dispatch target (issue #58) 149 | 150 | 0.96 (20/08/2012): 151 | 152 | * Fixes for context, all elements returned as context (issue #84) 153 | * Reset position with leaveTransforms !== true fixes (issue #93) 154 | 155 | 0.95 (20/08/2012): 156 | 157 | * If target opacity == current opacity, pass back to jquery native to get callback firing (#94) 158 | 159 | 0.94 (20/08/2012): 160 | 161 | * Addresses Firefox callback mechanisms (issue #94) 162 | * using $.one() to bind to CSS callbacks in a more generic way 163 | 164 | 0.93 (6/8/2012): 165 | 166 | * Adding other Opera 'transitionend' event (re: issue #90) 167 | 168 | 0.92 (6/8/2012): 169 | 170 | * Seperate unbinds into different threads (re: issue #91) 171 | 172 | 0.91 (2/4/2012): 173 | 174 | * Merge Pull Request #74 - Unit Management 175 | 176 | 0.90 (7/3/2012): 177 | 178 | * Adding public $.toggleDisabledByDefault() feature to disable entire plugin by default (Issue #73) 179 | 180 | 0.89 (24/1/2012): 181 | 182 | * Adding 'avoidCSSTransitions' property. Set to true to disable entire plugin. 183 | 184 | 0.88 (24/1/2012): 185 | 186 | * Fix Issue #67 for HighchartsJS compatibility 187 | 188 | 0.87 (24/1/2012): 189 | 190 | * Fix Issue #66 selfCSSData.original is undefined 191 | 192 | 0.86 (9/1/2012): 193 | 194 | * Strict JS fix for undefined variable 195 | 196 | 0.85 (20/12/2011): 197 | 198 | * Merge Pull request #57 from Kronuz 199 | * Codebase cleaned and now passes jshint. 200 | * Fixed a few bugs (it now saves and restores the original css transition properties). 201 | * fadeOut() is fixed, it wasn't restoring the opacity after hiding it. 202 | 203 | 0.80 (13/09/2011): 204 | 205 | * Issue #28 - Report $(el).is(':animated') fix 206 | 207 | 0.79 (06/09/2011): 208 | 209 | * Issue #42 - Right negative position animation: please see issue notes on Github 210 | 211 | 0.78 (02/09/2011): 212 | 213 | * Issue #18 - jQuery/$ reference joys 214 | 215 | 0.77 (02/09/2011): 216 | 217 | * Adding feature on Github issue #44 - Use 3D Transitions by default 218 | 219 | 0.76 (28/06/2011): 220 | 221 | * Fixing issue #37 - fixed stop() method (with gotoEnd == false) 222 | 223 | 0.75 (15/06/2011): 224 | 225 | * Fixing issue #35 to pass actual object back as context for callback 226 | 227 | 0.74 (28/05/2011): 228 | 229 | * Fixing issue #29 to play nice with 1.6 230 | 231 | 0.73 (05/03/2011): 232 | 233 | * Merged Pull Request #26: Fixed issue with fadeOut() / "hide" shortcut 234 | 235 | 0.72 (05/03/2011): 236 | 237 | * Merged Pull Request #23: Added Penner equation approximations from Matthew Lein's Ceaser, and added failsafe fallbacks 238 | 239 | 0.71 (05/03/2011): 240 | 241 | * Merged Pull Request #24: Changes translation object to integers instead of strings to fix relative values bug with leaveTransforms = true 242 | 243 | 0.70 (17/03/2011): 244 | 245 | * Merged Pull Request from amlw-nyt to add bottom/right handling 246 | 247 | 0.68 (15/02/2011): 248 | 249 | * Width/height fixes & queue issues resolved. 250 | 251 | 0.67 (15/02/2011): 252 | 253 | * Code cleanups & file size improvements for compression. 254 | 255 | 0.66 (15/02/2011): 256 | 257 | * Zero second fadeOut(), fadeIn() fixes 258 | 259 | 0.65 (01/02/2011): 260 | 261 | * Callbacks with queue() support refactored to support element arrays 262 | 263 | 0.64 (27/01/2011): 264 | 265 | * BUGFIX #13: .slideUp(), .slideToggle(), .slideDown() bugfixes in Webkit 266 | 267 | 0.63 (12/01/2011): 268 | 269 | * BUGFIX #11: callbacks not firing when new value == old value 270 | 271 | 0.62 (10/01/2011): 272 | 273 | * BUGFIX #11: queue is not a function issue fixed 274 | 275 | 0.61 (10/01/2011): 276 | 277 | * BUGFIX #10: Negative positions converting to positive 278 | 279 | 0.60 (06/01/2011): 280 | 281 | * Animate function rewrite in accordance with new queue system 282 | * BUGFIX #8: Left/top position values always assumed relative rather than absolute 283 | * BUGFIX #9: animation as last item in a chain — the chain is ignored? 284 | * BUGFIX: width/height CSS3 transformation with left/top working 285 | 286 | 0.55 (22/12/2010): 287 | 288 | * isEmptyObject function for