MCPcopy Create free account
hub / github.com/JsAaron/jQuery / defaultPrefilter

Function defaultPrefilter

2.0.3/2.0.3.js:8233–8354  ·  view source on GitHub ↗
( elem, props, opts )

Source from the content-addressed store, hash-verified

8231 });
8232
8233 function defaultPrefilter( elem, props, opts ) {
8234 /* jshint validthis: true */
8235 var prop, value, toggle, tween, hooks, oldfire,
8236 anim = this,
8237 orig = {},
8238 style = elem.style,
8239 hidden = elem.nodeType && isHidden( elem ),
8240 dataShow = data_priv.get( elem, "fxshow" );
8241
8242 // handle queue: false promises
8243 if ( !opts.queue ) {
8244 hooks = jQuery._queueHooks( elem, "fx" );
8245 if ( hooks.unqueued == null ) {
8246 hooks.unqueued = 0;
8247 oldfire = hooks.empty.fire;
8248 hooks.empty.fire = function() {
8249 if ( !hooks.unqueued ) {
8250 oldfire();
8251 }
8252 };
8253 }
8254 hooks.unqueued++;
8255
8256 anim.always(function() {
8257 // doing this makes sure that the complete handler will be called
8258 // before this completes
8259 anim.always(function() {
8260 hooks.unqueued--;
8261 if ( !jQuery.queue( elem, "fx" ).length ) {
8262 hooks.empty.fire();
8263 }
8264 });
8265 });
8266 }
8267
8268 // height/width overflow pass
8269 if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) {
8270 // Make sure that nothing sneaks out
8271 // Record all 3 overflow attributes because IE9-10 do not
8272 // change the overflow attribute when overflowX and
8273 // overflowY are set to the same value
8274 opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
8275
8276 // Set display property to inline-block for height/width
8277 // animations on inline elements that are having width/height animated
8278 if ( jQuery.css( elem, "display" ) === "inline" &&
8279 jQuery.css( elem, "float" ) === "none" ) {
8280
8281 style.display = "inline-block";
8282 }
8283 }
8284
8285 if ( opts.overflow ) {
8286 style.overflow = "hidden";
8287 anim.always(function() {
8288 style.overflow = opts.overflow[ 0 ];
8289 style.overflowX = opts.overflow[ 1 ];
8290 style.overflowY = opts.overflow[ 2 ];

Callers

nothing calls this directly

Calls 3

isHiddenFunction · 0.70
jQueryFunction · 0.70
createTweenFunction · 0.70

Tested by

no test coverage detected