mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
37dcc3e21d
For instance, this is useful for the jquery-ui-rails gem, which does not use jQuery UI's own minification, but relies on Rails to minify the files where necessary. Rails in turn uses UglifyJS for JS and YUI for CSS, both of which respect the /*! ... */ convention.
67 lines
1.4 KiB
JavaScript
67 lines
1.4 KiB
JavaScript
/*!
|
|
* jQuery UI Effects Clip @VERSION
|
|
*
|
|
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
|
* http://jquery.org/license
|
|
*
|
|
* http://docs.jquery.com/UI/Effects/Clip
|
|
*
|
|
* Depends:
|
|
* jquery.effects.core.js
|
|
*/
|
|
(function( $, undefined ) {
|
|
|
|
$.effects.effect.clip = function( o, done ) {
|
|
// Create element
|
|
var el = $( this ),
|
|
props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
|
|
mode = $.effects.setMode( el, o.mode || "hide" ),
|
|
show = mode === "show",
|
|
direction = o.direction || "vertical",
|
|
vert = direction === "vertical",
|
|
size = vert ? "height" : "width",
|
|
position = vert ? "top" : "left",
|
|
animation = {},
|
|
wrapper, animate, distance;
|
|
|
|
// Save & Show
|
|
$.effects.save( el, props );
|
|
el.show();
|
|
|
|
// Create Wrapper
|
|
wrapper = $.effects.createWrapper( el ).css({
|
|
overflow: "hidden"
|
|
});
|
|
animate = ( el[0].tagName === "IMG" ) ? wrapper : el;
|
|
distance = animate[ size ]();
|
|
|
|
// Shift
|
|
if ( show ) {
|
|
animate.css( size, 0 );
|
|
animate.css( position, distance / 2 );
|
|
}
|
|
|
|
// Create Animation Object:
|
|
animation[ size ] = show ? distance : 0;
|
|
animation[ position ] = show ? 0 : distance / 2;
|
|
|
|
// Animate
|
|
animate.animate( animation, {
|
|
queue: false,
|
|
duration: o.duration,
|
|
easing: o.easing,
|
|
complete: function() {
|
|
if ( !show ) {
|
|
el.hide();
|
|
}
|
|
$.effects.restore( el, props );
|
|
$.effects.removeWrapper( el );
|
|
done();
|
|
}
|
|
});
|
|
|
|
};
|
|
|
|
})(jQuery);
|