opacity is now retrieved from stylesheet in IE. fixes #3981
This commit is contained in:
parent
b763cc6602
commit
ec3ebd3e8a
3 changed files with 17 additions and 4 deletions
12
src/css.js
12
src/css.js
|
@ -120,12 +120,18 @@ jQuery.extend({
|
|||
},
|
||||
|
||||
curCSS: function( elem, name, force ) {
|
||||
var ret, style = elem.style;
|
||||
var ret, style = elem.style, filter;
|
||||
|
||||
// IE uses filters for opacity
|
||||
if ( !jQuery.support.opacity && name == "opacity" ) {
|
||||
ret = style.filter && style.filter.indexOf("opacity=") >= 0 ?
|
||||
(parseFloat( style.filter.match(/opacity=([^)]*)/)[1] ) / 100) + '':
|
||||
filter = (filter = style.filter) && filter.indexOf("opacity=") >= 0 ?
|
||||
filter :
|
||||
(filter = elem.currentStyle[ 'filter' ]) && filter.indexOf("opacity=") >= 0 ?
|
||||
filter :
|
||||
null;
|
||||
|
||||
ret = filter && filter.indexOf("opacity=") >= 0 ?
|
||||
(parseFloat( filter.match(/opacity=([^)]*)/)[1] ) / 100) + '':
|
||||
"";
|
||||
|
||||
return ret === "" ?
|
||||
|
|
|
@ -4,6 +4,9 @@
|
|||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>jQuery Test Suite</title>
|
||||
<link rel="Stylesheet" media="screen" href="qunit/testsuite.css" />
|
||||
<style type="text/css" media="screen">
|
||||
ol#empty { opacity: 0; filter:Alpha(opacity=0); } /* for testing opacity set in styles in IE */
|
||||
</style>
|
||||
<!-- Includes -->
|
||||
<script type="text/javascript">
|
||||
var jQuery = this.jQuery || "jQuery", // For testing .noConflict()
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
module("css");
|
||||
|
||||
test("css(String|Hash)", function() {
|
||||
expect(21);
|
||||
expect(23);
|
||||
|
||||
equals( jQuery('#main').css("display"), 'none', 'Check for css property "display"');
|
||||
|
||||
|
@ -34,6 +34,10 @@ test("css(String|Hash)", function() {
|
|||
});
|
||||
jQuery('#foo').css({opacity: ''});
|
||||
equals( jQuery('#foo').css('opacity'), '1', "Assert opacity is 1 when set to an empty String" );
|
||||
|
||||
equals( jQuery('#empty').css('opacity'), '0', "Assert opacity is accessible via filter property set in stylesheet in IE" );
|
||||
jQuery('#empty').css({ opacity: '1' });
|
||||
equals( jQuery('#empty').css('opacity'), '1', "Assert opacity is taken from style attribute when set vs stylesheet in IE with filters" );
|
||||
});
|
||||
|
||||
test("css(String, Object)", function() {
|
||||
|
|
Loading…
Reference in a new issue