annotate default/node_modules/jquery/src/css/curCSS.js @ 0:1d038bc9b3d2 default tip

Up:default
author Liny <dev@neowd.com>
date Sat, 31 May 2025 09:21:51 +0800
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
1 define( [
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
2 "../core",
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
3 "./var/rboxStyle",
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
4 "./var/rnumnonpx",
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
5 "./var/getStyles",
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
6 "./support",
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
7 "../selector" // Get jQuery.contains
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
8 ], function( jQuery, rboxStyle, rnumnonpx, getStyles, support ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
9
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
10 "use strict";
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
11
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
12 function curCSS( elem, name, computed ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
13 var width, minWidth, maxWidth, ret,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
14
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
15 // Support: Firefox 51+
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
16 // Retrieving style before computed somehow
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
17 // fixes an issue with getting wrong values
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
18 // on detached elements
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
19 style = elem.style;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
20
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
21 computed = computed || getStyles( elem );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
22
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
23 // getPropertyValue is needed for:
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
24 // .css('filter') (IE 9 only, #12537)
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
25 // .css('--customProperty) (#3144)
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
26 if ( computed ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
27 ret = computed.getPropertyValue( name ) || computed[ name ];
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
28
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
29 if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
30 ret = jQuery.style( elem, name );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
31 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
32
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
33 // A tribute to the "awesome hack by Dean Edwards"
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
34 // Android Browser returns percentage for some values,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
35 // but width seems to be reliably pixels.
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
36 // This is against the CSSOM draft spec:
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
37 // https://drafts.csswg.org/cssom/#resolved-values
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
38 if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
39
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
40 // Remember the original values
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
41 width = style.width;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
42 minWidth = style.minWidth;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
43 maxWidth = style.maxWidth;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
44
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
45 // Put in the new values to get a computed value out
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
46 style.minWidth = style.maxWidth = style.width = ret;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
47 ret = computed.width;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
48
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
49 // Revert the changed values
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
50 style.width = width;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
51 style.minWidth = minWidth;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
52 style.maxWidth = maxWidth;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
53 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
54 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
55
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
56 return ret !== undefined ?
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
57
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
58 // Support: IE <=9 - 11 only
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
59 // IE returns zIndex value as an integer.
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
60 ret + "" :
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
61 ret;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
62 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
63
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
64 return curCSS;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
65 } );