mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-10-05 01:44:18 +00:00
b6bec797d6
1. Introduces a set of helper methods to easily create and define new effects. 2. Uses clip animations and placeholders instead of wrappers for clip effects. 3. Ensures all animations are detectable as animated Fixes #10599 Fixes #9477 Fixes #9257 Fixes #9066 Fixes #8867 Fixes #8671 Fixes #8505 Fixes #7885 Fixes #7041 Closes gh-1017
65 lines
1.5 KiB
JavaScript
65 lines
1.5 KiB
JavaScript
/*!
|
|
* jQuery UI Effects Clip @VERSION
|
|
* http://jqueryui.com
|
|
*
|
|
* Copyright 2014 jQuery Foundation and other contributors
|
|
* Released under the MIT license.
|
|
* http://jquery.org/license
|
|
*/
|
|
|
|
//>>label: Clip Effect
|
|
//>>group: Effects
|
|
//>>description: Clips the element on and off like an old TV.
|
|
//>>docs: http://api.jqueryui.com/clip-effect/
|
|
//>>demos: http://jqueryui.com/effect/
|
|
|
|
(function( factory ) {
|
|
if ( typeof define === "function" && define.amd ) {
|
|
|
|
// AMD. Register as an anonymous module.
|
|
define([
|
|
"jquery",
|
|
"./effect"
|
|
], factory );
|
|
} else {
|
|
|
|
// Browser globals
|
|
factory( jQuery );
|
|
}
|
|
}(function( $ ) {
|
|
|
|
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
|
|
});
|
|
|
|
});
|
|
|
|
}));
|