MCPcopy
hub / github.com/deployd/deployd / doAnimation

Function doAnimation

test-app/public/jquery.js:8494–8622  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

8492 prop = jQuery.extend( {}, prop );
8493
8494 function doAnimation() {
8495 // XXX 'this' does not always have a nodeName when running the
8496 // test suite
8497
8498 if ( optall.queue === false ) {
8499 jQuery._mark( this );
8500 }
8501
8502 var opt = jQuery.extend( {}, optall ),
8503 isElement = this.nodeType === 1,
8504 hidden = isElement && jQuery(this).is(":hidden"),
8505 name, val, p, e, hooks, replace,
8506 parts, start, end, unit,
8507 method;
8508
8509 // will store per property easing and be used to determine when an animation is complete
8510 opt.animatedProperties = {};
8511
8512 // first pass over propertys to expand / normalize
8513 for ( p in prop ) {
8514 name = jQuery.camelCase( p );
8515 if ( p !== name ) {
8516 prop[ name ] = prop[ p ];
8517 delete prop[ p ];
8518 }
8519
8520 if ( ( hooks = jQuery.cssHooks[ name ] ) && "expand" in hooks ) {
8521 replace = hooks.expand( prop[ name ] );
8522 delete prop[ name ];
8523
8524 // not quite $.extend, this wont overwrite keys already present.
8525 // also - reusing 'p' from above because we have the correct "name"
8526 for ( p in replace ) {
8527 if ( ! ( p in prop ) ) {
8528 prop[ p ] = replace[ p ];
8529 }
8530 }
8531 }
8532 }
8533
8534 for ( name in prop ) {
8535 val = prop[ name ];
8536 // easing resolution: per property > opt.specialEasing > opt.easing > 'swing' (default)
8537 if ( jQuery.isArray( val ) ) {
8538 opt.animatedProperties[ name ] = val[ 1 ];
8539 val = prop[ name ] = val[ 0 ];
8540 } else {
8541 opt.animatedProperties[ name ] = opt.specialEasing && opt.specialEasing[ name ] || opt.easing || 'swing';
8542 }
8543
8544 if ( val === "hide" && hidden || val === "show" && !hidden ) {
8545 return opt.complete.call( this );
8546 }
8547
8548 if ( isElement && ( name === "height" || name === "width" ) ) {
8549 // Make sure that nothing sneaks out
8550 // Record all 3 overflow attributes because IE does not
8551 // change the overflow attribute when overflowX and

Callers

nothing calls this directly

Calls 2

jQueryFunction · 0.85
defaultDisplayFunction · 0.85

Tested by

no test coverage detected