( elem, props, opts )
| 8875 | }); |
| 8876 | |
| 8877 | function defaultPrefilter( elem, props, opts ) { |
| 8878 | /*jshint validthis:true */ |
| 8879 | var prop, index, length, |
| 8880 | value, dataShow, toggle, |
| 8881 | tween, hooks, oldfire, |
| 8882 | anim = this, |
| 8883 | style = elem.style, |
| 8884 | orig = {}, |
| 8885 | handled = [], |
| 8886 | hidden = elem.nodeType && isHidden( elem ); |
| 8887 | |
| 8888 | // handle queue: false promises |
| 8889 | if ( !opts.queue ) { |
| 8890 | hooks = jQuery._queueHooks( elem, "fx" ); |
| 8891 | if ( hooks.unqueued == null ) { |
| 8892 | hooks.unqueued = 0; |
| 8893 | oldfire = hooks.empty.fire; |
| 8894 | hooks.empty.fire = function() { |
| 8895 | if ( !hooks.unqueued ) { |
| 8896 | oldfire(); |
| 8897 | } |
| 8898 | }; |
| 8899 | } |
| 8900 | hooks.unqueued++; |
| 8901 | |
| 8902 | anim.always(function() { |
| 8903 | // doing this makes sure that the complete handler will be called |
| 8904 | // before this completes |
| 8905 | anim.always(function() { |
| 8906 | hooks.unqueued--; |
| 8907 | if ( !jQuery.queue( elem, "fx" ).length ) { |
| 8908 | hooks.empty.fire(); |
| 8909 | } |
| 8910 | }); |
| 8911 | }); |
| 8912 | } |
| 8913 | |
| 8914 | // height/width overflow pass |
| 8915 | if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) { |
| 8916 | // Make sure that nothing sneaks out |
| 8917 | // Record all 3 overflow attributes because IE does not |
| 8918 | // change the overflow attribute when overflowX and |
| 8919 | // overflowY are set to the same value |
| 8920 | opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; |
| 8921 | |
| 8922 | // Set display property to inline-block for height/width |
| 8923 | // animations on inline elements that are having width/height animated |
| 8924 | if ( jQuery.css( elem, "display" ) === "inline" && |
| 8925 | jQuery.css( elem, "float" ) === "none" ) { |
| 8926 | |
| 8927 | // inline-level elements accept inline-block; |
| 8928 | // block-level elements need to be inline with layout |
| 8929 | if ( !jQuery.support.inlineBlockNeedsLayout || css_defaultDisplay( elem.nodeName ) === "inline" ) { |
| 8930 | style.display = "inline-block"; |
| 8931 | |
| 8932 | } else { |
| 8933 | style.zoom = 1; |
| 8934 | } |
nothing calls this directly
no test coverage detected