]> source.dussan.org Git - jquery.git/commitdiff
CSS: Skip the px-appending logic for animations of non-element props
authorMichał Gołębiowski-Owczarek <m.goleb@gmail.com>
Mon, 30 Apr 2018 16:52:39 +0000 (18:52 +0200)
committerGitHub <noreply@github.com>
Mon, 30 Apr 2018 16:52:39 +0000 (18:52 +0200)
Without this change animating properties from jQuery.cssNumber on non-elements
throws an error.

Ref gh-4055
Closes gh-4061

src/css/adjustCSS.js
test/unit/effects.js

index 626ec74758f2d04e56bafed9932efb2d8cd8cbf2..8898789a7bd97eea0c175a3aaefbc13cd4957cb7 100644 (file)
@@ -19,7 +19,8 @@ function adjustCSS( elem, prop, valueParts, tween ) {
                unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
 
                // Starting value computation is required for potential unit mismatches
-               initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
+               initialInUnit = elem.nodeType &&
+                       ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
                        rcssNum.exec( jQuery.css( elem, prop ) );
 
        if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
index 462524ef37f9a7fdb7307035a2a7287a3b3ef205..e297273e460f9d2689247bccd75e5afaba3e45cb 100644 (file)
@@ -607,6 +607,17 @@ QUnit.test( "animate non-element", function( assert ) {
        this.clock.tick( 200 );
 } );
 
+QUnit.test( "animate non-element's zIndex without appending \"px\"", function( assert ) {
+       assert.expect( 1 );
+
+       var obj = { zIndex: 0 };
+
+       jQuery( obj ).animate( { zIndex: 200 }, 200, function() {
+               assert.equal( obj.zIndex, 200, "The custom property should be modified without appending \"px\"." );
+       } );
+       this.clock.tick( 200 );
+} );
+
 QUnit.test( "stop()", function( assert ) {
        assert.expect( 4 );