/bower_components/jquery/src/css/curCSS.js |
@@ -0,0 +1,59 @@ |
define( [ |
"../core", |
"./var/rnumnonpx", |
"./var/rmargin", |
"./var/getStyles", |
"./support", |
"../selector" // Get jQuery.contains |
], function( jQuery, rnumnonpx, rmargin, getStyles, support ) { |
|
"use strict"; |
|
function curCSS( elem, name, computed ) { |
var width, minWidth, maxWidth, ret, |
style = elem.style; |
|
computed = computed || getStyles( elem ); |
|
// Support: IE <=9 only |
// getPropertyValue is only needed for .css('filter') (#12537) |
if ( computed ) { |
ret = computed.getPropertyValue( name ) || computed[ name ]; |
|
if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { |
ret = jQuery.style( elem, name ); |
} |
|
// A tribute to the "awesome hack by Dean Edwards" |
// Android Browser returns percentage for some values, |
// but width seems to be reliably pixels. |
// This is against the CSSOM draft spec: |
// https://drafts.csswg.org/cssom/#resolved-values |
if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) { |
|
// Remember the original values |
width = style.width; |
minWidth = style.minWidth; |
maxWidth = style.maxWidth; |
|
// Put in the new values to get a computed value out |
style.minWidth = style.maxWidth = style.width = ret; |
ret = computed.width; |
|
// Revert the changed values |
style.width = width; |
style.minWidth = minWidth; |
style.maxWidth = maxWidth; |
} |
} |
|
return ret !== undefined ? |
|
// Support: IE <=9 - 11 only |
// IE returns zIndex value as an integer. |
ret + "" : |
ret; |
} |
|
return curCSS; |
} ); |