mirror of
https://github.com/jquery/jquery.git
synced 2026-02-01 07:14:57 -05:00
Remove offset dependency from css. Move curCSS and getStyles to their own modules. -39 bytes. Close gh-1360.
This commit is contained in:
52
src/css/curCSS.js
Normal file
52
src/css/curCSS.js
Normal file
@@ -0,0 +1,52 @@
|
||||
define([
|
||||
"../core",
|
||||
"./var/rnumnonpx",
|
||||
"./var/rmargin",
|
||||
"./var/getStyles",
|
||||
"../css", // Circular, but needs jQuery.style
|
||||
"../selector" // contains
|
||||
], function( jQuery, rnumnonpx, rmargin, getStyles ) {
|
||||
|
||||
function curCSS( elem, name, computed ) {
|
||||
var width, minWidth, maxWidth, ret,
|
||||
style = elem.style;
|
||||
|
||||
computed = computed || getStyles( elem );
|
||||
|
||||
// Support: IE9
|
||||
// getPropertyValue is only needed for .css('filter') in IE9, see #12537
|
||||
ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined;
|
||||
|
||||
if ( computed ) {
|
||||
|
||||
if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
|
||||
ret = jQuery.style( elem, name );
|
||||
}
|
||||
|
||||
// Support: iOS < 6
|
||||
// A tribute to the "awesome hack by Dean Edwards"
|
||||
// iOS < 6 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels
|
||||
// this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values
|
||||
if ( 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;
|
||||
}
|
||||
|
||||
return curCSS;
|
||||
});
|
||||
5
src/css/var/getStyles.js
Normal file
5
src/css/var/getStyles.js
Normal file
@@ -0,0 +1,5 @@
|
||||
define(function() {
|
||||
return function( elem ) {
|
||||
return elem.ownerDocument.defaultView.getComputedStyle( elem, null );
|
||||
};
|
||||
});
|
||||
3
src/css/var/rmargin.js
Normal file
3
src/css/var/rmargin.js
Normal file
@@ -0,0 +1,3 @@
|
||||
define(function() {
|
||||
return (/^margin/);
|
||||
});
|
||||
5
src/css/var/rnumnonpx.js
Normal file
5
src/css/var/rnumnonpx.js
Normal file
@@ -0,0 +1,5 @@
|
||||
define([
|
||||
"../../var/pnum"
|
||||
], function( pnum ) {
|
||||
return new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
|
||||
});
|
||||
Reference in New Issue
Block a user