Commit dac716ca authored by Oleg Gaidarenko's avatar Oleg Gaidarenko

CSS: simplify hack of css getter for the computed values

Ref gh-1906
parent d9d8906c
...@@ -72,7 +72,7 @@ if ( window.getComputedStyle ) { ...@@ -72,7 +72,7 @@ if ( window.getComputedStyle ) {
}; };
curCSS = function( elem, name, computed ) { curCSS = function( elem, name, computed ) {
var left, rs, rsLeft, ret, var left, ret,
style = elem.style; style = elem.style;
computed = computed || getStyles( elem ); computed = computed || getStyles( elem );
...@@ -84,7 +84,7 @@ if ( window.getComputedStyle ) { ...@@ -84,7 +84,7 @@ if ( window.getComputedStyle ) {
ret = style[ name ]; ret = style[ name ];
} }
// From the awesome hack by Dean Edwards // Simplified hack by Dean Edwards
// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
// If we're not dealing with a regular pixel number // If we're not dealing with a regular pixel number
...@@ -97,21 +97,13 @@ if ( window.getComputedStyle ) { ...@@ -97,21 +97,13 @@ if ( window.getComputedStyle ) {
// Remember the original values // Remember the original values
left = style.left; left = style.left;
rs = elem.runtimeStyle;
rsLeft = rs && rs.left;
// Put in the new values to get a computed value out // Put in the new values to get a computed value out
if ( rsLeft ) {
rs.left = elem.currentStyle.left;
}
style.left = name === "fontSize" ? "1em" : ret; style.left = name === "fontSize" ? "1em" : ret;
ret = style.pixelLeft + "px"; ret = style.pixelLeft + "px";
// Revert the changed values // Revert the changed values
style.left = left; style.left = left;
if ( rsLeft ) {
rs.left = rsLeft;
}
} }
// Support: IE<9 // Support: IE<9
......
...@@ -163,3 +163,8 @@ section { background:#f0f; display:block; } ...@@ -163,3 +163,8 @@ section { background:#f0f; display:block; }
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
} }
.get-computed-value {
padding-left: 50%;
width: 20%;
font-size: 2em;
}
...@@ -119,6 +119,17 @@ test("css(String|Hash)", function() { ...@@ -119,6 +119,17 @@ test("css(String|Hash)", function() {
"Make sure that a string z-index is returned from css('z-index') (#14432)." ); "Make sure that a string z-index is returned from css('z-index') (#14432)." );
}); });
test( "css(String) computed values", 3, function() {
var div = jQuery( "<div/>" ).addClass( "get-computed-value" ),
fixture = document.getElementById( "qunit-fixture" );
div.appendTo( fixture );
strictEqual( div.css( "padding-left" ), "500px", "should get computed value for padding-left property" );
strictEqual( div.css( "width" ), "200px", "should get computed value for width property" );
strictEqual( div.css( "font-size" ), "32px", "should get computed value for font-size property" );
});
test( "css() explicit and relative values", 29, function() { test( "css() explicit and relative values", 29, function() {
var $elem = jQuery("#nothiddendiv"); var $elem = jQuery("#nothiddendiv");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment