zhaojs
2023-07-05 7a246e86fd5677cb6ce954003d5cb07fed87be6f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
define( [
    "../core",
    "./var/rnumnonpx",
    "./var/rmargin",
    "./var/getStyles",
    "./support",
    "../selector" // Get jQuery.contains
], function( jQuery, rnumnonpx, rmargin, getStyles, support ) {
 
function curCSS( elem, name, computed ) {
    var width, minWidth, maxWidth, ret,
        style = elem.style;
 
    computed = computed || getStyles( elem );
    ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined;
 
    // Support: Opera 12.1x only
    // Fall back to style even without computed
    // computed is undefined for elems on document fragments
    if ( ( ret === "" || ret === undefined ) && !jQuery.contains( elem.ownerDocument, elem ) ) {
        ret = jQuery.style( elem, name );
    }
 
    // Support: IE9
    // getPropertyValue is only needed for .css('filter') (#12537)
    if ( computed ) {
 
        // 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:
        // http://dev.w3.org/csswg/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: IE9-11+
        // IE returns zIndex value as an integer.
        ret + "" :
        ret;
}
 
return curCSS;
} );