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
64e4a879
Commit
64e4a879
authored
Dec 01, 2009
by
Yehuda Katz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix css("opacity") to not clobber other filters in IE. Closes #4707.
parent
839e9719
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
20 additions
and
8 deletions
+20
-8
css.js
src/css.js
+3
-2
css.js
test/unit/css.js
+17
-6
No files found.
src/css.js
View file @
64e4a879
...
@@ -52,8 +52,9 @@ jQuery.extend({
...
@@ -52,8 +52,9 @@ jQuery.extend({
style
.
zoom
=
1
;
style
.
zoom
=
1
;
// Set the alpha filter to set the opacity
// Set the alpha filter to set the opacity
style
.
filter
=
(
style
.
filter
||
""
).
replace
(
ralpha
,
""
)
+
var
opacity
=
parseInt
(
value
,
10
)
+
''
===
"NaN"
?
""
:
"alpha(opacity="
+
value
*
100
+
")"
;
(
parseInt
(
value
,
10
)
+
''
===
"NaN"
?
""
:
"alpha(opacity="
+
value
*
100
+
")"
);
filter
=
style
.
filter
||
jQuery
.
curCSS
(
elem
,
'filter'
)
||
""
style
.
filter
=
ralpha
.
test
(
filter
)
?
filter
.
replace
(
ralpha
,
opacity
)
:
opacity
;
}
}
return
style
.
filter
&&
style
.
filter
.
indexOf
(
"opacity="
)
>=
0
?
return
style
.
filter
&&
style
.
filter
.
indexOf
(
"opacity="
)
>=
0
?
...
...
test/unit/css.js
View file @
64e4a879
...
@@ -52,7 +52,7 @@ test("css(String|Hash)", function() {
...
@@ -52,7 +52,7 @@ test("css(String|Hash)", function() {
});
});
test
(
"css(String, Object)"
,
function
()
{
test
(
"css(String, Object)"
,
function
()
{
expect
(
2
1
);
expect
(
2
0
);
ok
(
jQuery
(
'#nothiddendiv'
).
is
(
':visible'
),
'Modifying CSS display: Assert element is visible'
);
ok
(
jQuery
(
'#nothiddendiv'
).
is
(
':visible'
),
'Modifying CSS display: Assert element is visible'
);
jQuery
(
'#nothiddendiv'
).
css
(
"display"
,
'none'
);
jQuery
(
'#nothiddendiv'
).
css
(
"display"
,
'none'
);
ok
(
!
jQuery
(
'#nothiddendiv'
).
is
(
':visible'
),
'Modified CSS display: Assert element is hidden'
);
ok
(
!
jQuery
(
'#nothiddendiv'
).
is
(
':visible'
),
'Modified CSS display: Assert element is hidden'
);
...
@@ -76,11 +76,6 @@ test("css(String, Object)", function() {
...
@@ -76,11 +76,6 @@ test("css(String, Object)", function() {
});
});
jQuery
(
'#foo'
).
css
(
'opacity'
,
''
);
jQuery
(
'#foo'
).
css
(
'opacity'
,
''
);
equals
(
jQuery
(
'#foo'
).
css
(
'opacity'
),
'1'
,
"Assert opacity is 1 when set to an empty String"
);
equals
(
jQuery
(
'#foo'
).
css
(
'opacity'
),
'1'
,
"Assert opacity is 1 when set to an empty String"
);
// for #1438, IE throws JS error when filter exists but doesn't have opacity in it
if
(
jQuery
.
browser
.
msie
)
{
jQuery
(
'#foo'
).
css
(
"filter"
,
"progid:DXImageTransform.Microsoft.Chroma(color='red');"
);
}
equals
(
jQuery
(
'#foo'
).
css
(
'opacity'
),
'1'
,
"Assert opacity is 1 when a different filter is set in IE, #1438"
);
// using contents will get comments regular, text, and comment nodes
// using contents will get comments regular, text, and comment nodes
var
j
=
jQuery
(
"#nonnodes"
).
contents
();
var
j
=
jQuery
(
"#nonnodes"
).
contents
();
...
@@ -92,6 +87,22 @@ test("css(String, Object)", function() {
...
@@ -92,6 +87,22 @@ test("css(String, Object)", function() {
equals
(
jQuery
(
"#t2037 .hidden"
).
css
(
"display"
),
"none"
,
"Make sure browser thinks it is hidden"
);
equals
(
jQuery
(
"#t2037 .hidden"
).
css
(
"display"
),
"none"
,
"Make sure browser thinks it is hidden"
);
});
});
if
(
jQuery
.
browser
.
msie
)
{
test
(
"css(String, Object) for MSIE"
,
function
()
{
// for #1438, IE throws JS error when filter exists but doesn't have opacity in it
jQuery
(
'#foo'
).
css
(
"filter"
,
"progid:DXImageTransform.Microsoft.Chroma(color='red');"
);
equals
(
jQuery
(
'#foo'
).
css
(
'opacity'
),
'1'
,
"Assert opacity is 1 when a different filter is set in IE, #1438"
);
var
filterVal
=
"progid:DXImageTransform.Microsoft.alpha(opacity=30) progid:DXImageTransform.Microsoft.Blur(pixelradius=5)"
;
var
filterVal2
=
"progid:DXImageTransform.Microsoft.alpha(opacity=100) progid:DXImageTransform.Microsoft.Blur(pixelradius=5)"
;
jQuery
(
'#foo'
).
css
(
"filter"
,
filterVal
);
equals
(
jQuery
(
'#foo'
).
css
(
"filter"
),
filterVal
,
"css('filter', val) works"
);
jQuery
(
'#foo'
).
css
(
"opacity"
,
1
)
equals
(
jQuery
(
'#foo'
).
css
(
"filter"
),
filterVal2
,
"Setting opacity in IE doesn't clobber other filters"
);
equals
(
jQuery
(
'#foo'
).
css
(
"opacity"
),
1
,
"Setting opacity in IE with other filters works"
)
});
}
test
(
"css(String, Function)"
,
function
()
{
test
(
"css(String, Function)"
,
function
()
{
try
{
try
{
expect
(
3
);
expect
(
3
);
...
...
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