for ( p in prop ) {
e = new jQuery.fx( this, opt, p );
-
val = prop[p];
if ( rfxtypes.test(val) ) {
if ( parts ) {
end = parseFloat( parts[2] );
- unit = parts[3] || ( jQuery.cssNumber[ name ] ? "" : "px" );
+ unit = parts[3] || ( jQuery.cssNumber[ p ] ? "" : "px" );
// We need to compute starting value
if ( unit !== "px" ) {
hiddendiv.css("display","");
- var pass = true, div = jQuery("#qunit-fixture div");
+ var pass = true;
+ div = jQuery("#qunit-fixture div");
div.show().each(function(){
if ( this.style.display == "none" ) pass = false;
});
equals(jQuery.css( this, "display" ), "inline", "Display shouldn't be tampered with.");
start();
-}
+};
test( "jQuery.fx.prototype.cur()", 6, function() {
var div = jQuery( "<div></div>" ).appendTo( "#qunit-fixture" ).css({
.after( elem );
return elem;
-}
+};
jQuery.makeTest.id = 1;
start();
});
});
+
+test( "animate properties missing px w/ opacity as last (#9074)", 2, function() {
+ expect( 6 );
+ stop();
+ var div = jQuery( "<div style='position: absolute; margin-left: 0; left: 0px;'></div>" )
+ .appendTo( "#qunit-fixture" );
+ function cssInt( prop ) {
+ return parseInt( div.css( prop ), 10 );
+ }
+ equal( cssInt( "marginLeft" ), 0, "Margin left is 0" );
+ equal( cssInt( "left" ), 0, "Left is 0" );
+ div.animate({
+ left: 200,
+ marginLeft: 200,
+ opacity: 0
+ }, 1000);
+ setTimeout(function() {
+ var ml = cssInt( "marginLeft" ),
+ l = cssInt( "left" );
+ notEqual( ml, 0, "Margin left is not 0 after partial animate" );
+ notEqual( ml, 200, "Margin left is not 200 after partial animate" );
+ notEqual( l, 0, "Left is not 0 after partial animate" );
+ notEqual( l, 200, "Left is not 200 after partial animate" );
+ div.stop().remove();
+ start();
+ }, 100);
+});