Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
J
jquery
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
夏彬
jquery
Commits
2912f8ab
Commit
2912f8ab
authored
Sep 05, 2010
by
John Resig
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Broke apart some of the browser-specific logic for CSS handling.
parent
426045cc
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
93 additions
and
95 deletions
+93
-95
css.js
src/css.js
+93
-95
No files found.
src/css.js
View file @
2912f8ab
...
@@ -11,6 +11,7 @@ var rexclude = /z-?index|font-?weight|opacity|zoom|line-?height/i,
...
@@ -11,6 +11,7 @@ var rexclude = /z-?index|font-?weight|opacity|zoom|line-?height/i,
cssShow
=
{
position
:
"absolute"
,
visibility
:
"hidden"
,
display
:
"block"
},
cssShow
=
{
position
:
"absolute"
,
visibility
:
"hidden"
,
display
:
"block"
},
cssWidth
=
[
"Left"
,
"Right"
],
cssWidth
=
[
"Left"
,
"Right"
],
cssHeight
=
[
"Top"
,
"Bottom"
],
cssHeight
=
[
"Top"
,
"Bottom"
],
curCSS
,
// cache check for defaultView.getComputedStyle
// cache check for defaultView.getComputedStyle
getComputedStyle
=
document
.
defaultView
&&
document
.
defaultView
.
getComputedStyle
,
getComputedStyle
=
document
.
defaultView
&&
document
.
defaultView
.
getComputedStyle
,
...
@@ -35,49 +36,7 @@ jQuery.fn.css = function( name, value ) {
...
@@ -35,49 +36,7 @@ jQuery.fn.css = function( name, value ) {
};
};
jQuery
.
extend
({
jQuery
.
extend
({
cssHooks
:
{
cssHooks
:
{},
opacity
:
{
get
:
function
(
elem
,
force
)
{
var
style
=
elem
.
style
;
if
(
jQuery
.
support
.
opacity
&&
!
style
.
filter
)
{
return
false
;
// move along, nothing to see here
}
// IE uses filters for opacity
var
ret
=
ropacity
.
test
(
elem
.
currentStyle
.
filter
||
""
)
?
(
parseFloat
(
RegExp
.
$1
)
/
100
)
+
""
:
""
;
return
ret
===
""
?
"1"
:
ret
;
},
set
:
function
(
elem
,
value
)
{
var
style
=
elem
.
style
;
if
(
jQuery
.
support
.
opacity
&&
!
style
.
filter
)
{
return
false
;
// move along, nothing to see here
}
// IE has trouble with opacity if it does not have layout
// Force it by setting the zoom level
style
.
zoom
=
1
;
// Set the alpha filter to set the opacity
var
opacity
=
parseInt
(
value
,
10
)
+
""
===
"NaN"
?
""
:
"alpha(opacity="
+
value
*
100
+
")"
;
var
filter
=
style
.
filter
||
jQuery
.
curCSS
(
elem
,
"filter"
)
||
""
;
style
.
filter
=
ralpha
.
test
(
filter
)
?
filter
.
replace
(
ralpha
,
opacity
)
:
opacity
;
}
}
},
style
:
function
(
elem
,
name
,
value
)
{
style
:
function
(
elem
,
name
,
value
)
{
// don't set styles on text and comment nodes
// don't set styles on text and comment nodes
...
@@ -133,21 +92,79 @@ jQuery.extend({
...
@@ -133,21 +92,79 @@ jQuery.extend({
},
},
curCSS
:
function
(
elem
,
name
,
force
)
{
curCSS
:
function
(
elem
,
name
,
force
)
{
var
ret
,
style
=
elem
.
style
,
filter
,
hooks
=
jQuery
.
cssHooks
[
name
]
||
{};
var
ret
,
style
=
elem
.
style
||
{}
,
hooks
=
jQuery
.
cssHooks
[
name
]
||
{};
// Make sure we're using the right name for getting the float value
// Make sure we're using the right name for getting the float value
if
(
rfloat
.
test
(
name
)
)
{
if
(
rfloat
.
test
(
name
)
)
{
name
=
styleFloat
;
name
=
styleFloat
;
}
}
if
(
"get"
in
hooks
&&
(
ret
=
hooks
.
get
(
elem
,
force
)
)
!==
false
)
{
if
(
"get"
in
hooks
&&
(
ret
=
hooks
.
get
(
elem
,
force
)
)
!==
false
)
{
return
ret
;
return
ret
;
}
}
if
(
!
force
&&
style
&&
style
[
name
]
)
{
if
(
!
force
&&
name
in
style
)
{
ret
=
style
[
name
];
ret
=
style
[
name
];
}
else
if
(
getComputedStyle
)
{
}
else
if
(
curCSS
)
{
ret
=
curCSS
(
elem
,
name
);
}
return
ret
;
},
// A method for quickly swapping in/out CSS properties to get correct calculations
swap
:
function
(
elem
,
options
,
callback
)
{
var
old
=
{};
// Remember the old values, and insert the new ones
for
(
var
name
in
options
)
{
old
[
name
]
=
elem
.
style
[
name
];
elem
.
style
[
name
]
=
options
[
name
];
}
callback
.
call
(
elem
);
// Revert the old values
for
(
name
in
options
)
{
elem
.
style
[
name
]
=
old
[
name
];
}
}
});
if
(
!
jQuery
.
support
.
opacity
)
{
jQuery
.
cssHooks
.
opacity
=
{
get
:
function
(
elem
,
force
)
{
// IE uses filters for opacity
return
ropacity
.
test
(
elem
.
currentStyle
.
filter
||
""
)
?
(
parseFloat
(
RegExp
.
$1
)
/
100
)
+
""
:
"1"
;
},
set
:
function
(
elem
,
value
)
{
var
style
=
elem
.
style
;
// IE has trouble with opacity if it does not have layout
// Force it by setting the zoom level
style
.
zoom
=
1
;
// Set the alpha filter to set the opacity
var
opacity
=
parseInt
(
value
,
10
)
+
""
===
"NaN"
?
""
:
"alpha(opacity="
+
value
*
100
+
")"
;
var
filter
=
style
.
filter
||
jQuery
.
curCSS
(
elem
,
"filter"
)
||
""
;
style
.
filter
=
ralpha
.
test
(
filter
)
?
filter
.
replace
(
ralpha
,
opacity
)
:
opacity
;
}
};
}
if
(
getComputedStyle
)
{
curCSS
=
function
(
elem
,
name
)
{
var
ret
,
defaultView
,
computedStyle
;
// Only "float" is needed here
// Only "float" is needed here
if
(
rfloat
.
test
(
name
)
)
{
if
(
rfloat
.
test
(
name
)
)
{
...
@@ -156,15 +173,11 @@ jQuery.extend({
...
@@ -156,15 +173,11 @@ jQuery.extend({
name
=
name
.
replace
(
rupper
,
"-$1"
).
toLowerCase
();
name
=
name
.
replace
(
rupper
,
"-$1"
).
toLowerCase
();
var
defaultView
=
elem
.
ownerDocument
.
defaultView
;
if
(
!
(
defaultView
=
elem
.
ownerDocument
.
defaultView
)
)
{
if
(
!
defaultView
)
{
return
null
;
return
null
;
}
}
var
computedStyle
=
defaultView
.
getComputedStyle
(
elem
,
null
);
if
(
(
computedStyle
=
defaultView
.
getComputedStyle
(
elem
,
null
))
)
{
if
(
computedStyle
)
{
ret
=
computedStyle
.
getPropertyValue
(
name
);
ret
=
computedStyle
.
getPropertyValue
(
name
);
}
}
...
@@ -173,9 +186,12 @@ jQuery.extend({
...
@@ -173,9 +186,12 @@ jQuery.extend({
ret
=
"1"
;
ret
=
"1"
;
}
}
}
else
if
(
elem
.
currentStyle
)
{
return
ret
;
var
camelCase
=
name
.
replace
(
rdashAlpha
,
fcamelCase
)
;
}
;
}
else
if
(
document
.
documentElement
.
currentStyle
)
{
curCSS
=
function
(
elem
,
name
)
{
var
left
,
rsLeft
,
camelCase
=
name
.
replace
(
rdashAlpha
,
fcamelCase
),
ret
=
elem
.
currentStyle
[
name
]
||
elem
.
currentStyle
[
camelCase
];
ret
=
elem
.
currentStyle
[
name
]
||
elem
.
currentStyle
[
camelCase
];
// From the awesome hack by Dean Edwards
// From the awesome hack by Dean Edwards
...
@@ -185,7 +201,8 @@ jQuery.extend({
...
@@ -185,7 +201,8 @@ jQuery.extend({
// but a number that has a weird ending, we need to convert it to pixels
// but a number that has a weird ending, we need to convert it to pixels
if
(
!
rnumpx
.
test
(
ret
)
&&
rnum
.
test
(
ret
)
)
{
if
(
!
rnumpx
.
test
(
ret
)
&&
rnum
.
test
(
ret
)
)
{
// Remember the original values
// Remember the original values
var
left
=
style
.
left
,
rsLeft
=
elem
.
runtimeStyle
.
left
;
left
=
style
.
left
;
rsLeft
=
elem
.
runtimeStyle
.
left
;
// Put in the new values to get a computed value out
// Put in the new values to get a computed value out
elem
.
runtimeStyle
.
left
=
elem
.
currentStyle
.
left
;
elem
.
runtimeStyle
.
left
=
elem
.
currentStyle
.
left
;
...
@@ -196,29 +213,10 @@ jQuery.extend({
...
@@ -196,29 +213,10 @@ jQuery.extend({
style
.
left
=
left
;
style
.
left
=
left
;
elem
.
runtimeStyle
.
left
=
rsLeft
;
elem
.
runtimeStyle
.
left
=
rsLeft
;
}
}
}
return
ret
;
return
ret
;
},
};
}
// A method for quickly swapping in/out CSS properties to get correct calculations
swap
:
function
(
elem
,
options
,
callback
)
{
var
old
=
{};
// Remember the old values, and insert the new ones
for
(
var
name
in
options
)
{
old
[
name
]
=
elem
.
style
[
name
];
elem
.
style
[
name
]
=
options
[
name
];
}
callback
.
call
(
elem
);
// Revert the old values
for
(
name
in
options
)
{
elem
.
style
[
name
]
=
old
[
name
];
}
}
});
function
getWH
(
elem
,
name
,
extra
)
{
function
getWH
(
elem
,
name
,
extra
)
{
var
which
=
name
===
"width"
?
cssWidth
:
cssHeight
,
var
which
=
name
===
"width"
?
cssWidth
:
cssHeight
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment