From: John Resig <jeresig@gmail.com>
Date: Sat, 25 Aug 2007 03:03:27 +0000 (+0000)
Subject: Landing animation of scrollLeft/scrollTop (also works on random DOM object properties... 
X-Git-Url: http://git.asbjorn.it/?a=commitdiff_plain;h=97f2032e13b85db72910e9cc1e75f2eb75e43dc4;p=jquery.git

Landing animation of scrollLeft/scrollTop (also works on random DOM object properties as well).
---

diff --git a/src/fx/fx.js b/src/fx/fx.js
index ca861b6..075d1ab 100644
--- a/src/fx/fx.js
+++ b/src/fx/fx.js
@@ -424,18 +424,10 @@ jQuery.extend({
 
 	timers: [],
 
-	/*
-	 * I originally wrote fx() as a clone of moo.fx and in the process
-	 * of making it small in size the code became illegible to sane
-	 * people. You've been warned.
-	 */
-	
 	fx: function( elem, options, prop ){
 
-		var z = this;
-
-		// The styles
-		var y = elem.style;
+		var z = this, y = elem.style,
+			isprop = elem[prop] != null && y[prop] == null;
 		
 		// Simple function for setting a style value
 		z.a = function(){
@@ -445,7 +437,10 @@ jQuery.extend({
 			if ( prop == "opacity" )
 				jQuery.attr(y, "opacity", z.now); // Let attr handle opacity
 			else {
-				y[prop] = parseInt(z.now) + "px";
+				if ( isprop )
+					elem[prop] = parseInt(z.now);
+				else
+					y[prop] = parseInt(z.now) + "px";
 
 				// Set display property to block for height/width animations
 				if ( prop == "height" || prop == "width" )
@@ -460,6 +455,7 @@ jQuery.extend({
 
 		// Get the current size
 		z.cur = function(){
+			if ( isprop ) return elem[prop];
 			var r = parseFloat( jQuery.curCSS(elem, prop) );
 			return r && r > -10000 ? r : z.max();
 		};