| |
| |
| |
| |
| |
| |
| |
| |
|
|
| |
| |
| |
| |
| |
|
|
| ( function( factory ) { |
| "use strict"; |
|
|
| if ( typeof define === "function" && define.amd ) { |
|
|
| |
| define( [ |
| "jquery", |
| "../version", |
| "../effect" |
| ], factory ); |
| } else { |
|
|
| |
| factory( jQuery ); |
| } |
| } )( function( $ ) { |
| "use strict"; |
|
|
| return $.effects.define( "clip", "hide", function( options, done ) { |
| var start, |
| animate = {}, |
| element = $( this ), |
| direction = options.direction || "vertical", |
| both = direction === "both", |
| horizontal = both || direction === "horizontal", |
| vertical = both || direction === "vertical"; |
|
|
| start = element.cssClip(); |
| animate.clip = { |
| top: vertical ? ( start.bottom - start.top ) / 2 : start.top, |
| right: horizontal ? ( start.right - start.left ) / 2 : start.right, |
| bottom: vertical ? ( start.bottom - start.top ) / 2 : start.bottom, |
| left: horizontal ? ( start.right - start.left ) / 2 : start.left |
| }; |
|
|
| $.effects.createPlaceholder( element ); |
|
|
| if ( options.mode === "show" ) { |
| element.cssClip( animate.clip ); |
| animate.clip = start; |
| } |
|
|
| element.animate( animate, { |
| queue: false, |
| duration: options.duration, |
| easing: options.easing, |
| complete: done |
| } ); |
|
|
| } ); |
|
|
| } ); |
|
|