diff options
Diffstat (limited to 'src/css/swap.js')
-rw-r--r-- | src/css/swap.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/css/swap.js b/src/css/swap.js new file mode 100644 index 000000000..07a661c03 --- /dev/null +++ b/src/css/swap.js @@ -0,0 +1,27 @@ +define([ + "../core" +], function( jQuery ) { + + // A method for quickly swapping in/out CSS properties to get correct calculations. + jQuery.swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; + }; + + return jQuery.swap; +}); |