Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge branch 'fix_8403' of https://github.com/lrbabe/jquery into lrba…

…be-fix_8403
  • Loading branch information...
commit 430d9e0b066512f00ceb7573249b45747d7792ff 2 parents 7bfb6a7 + 581fa82
@jeresig jeresig authored
Showing with 9 additions and 5 deletions.
  1. +4 −3 src/css.js
  2. +1 −1  test/data/testsuite.css
  3. +4 −1 test/unit/css.js
View
7 src/css.js
@@ -231,7 +231,8 @@ if ( !jQuery.support.opacity ) {
},
set: function( elem, value ) {
- var style = elem.style;
+ var style = elem.style,
+ currentStyle = elem.currentStyle;
// IE has trouble with opacity if it does not have layout
// Force it by setting the zoom level
@@ -241,11 +242,11 @@ if ( !jQuery.support.opacity ) {
var opacity = jQuery.isNaN(value) ?
"" :
"alpha(opacity=" + value * 100 + ")",
- filter = style.filter || "";
+ filter = currentStyle && currentStyle.filter || style.filter || "";
style.filter = ralpha.test(filter) ?
filter.replace(ralpha, opacity) :
- style.filter + ' ' + opacity;
+ filter + " " + opacity;
}
};
}
View
2  test/data/testsuite.css
@@ -1,5 +1,5 @@
/* for testing opacity set in styles in IE */
-ol#empty { opacity: 0; filter:Alpha(opacity=0); }
+ol#empty { opacity: 0; filter:Alpha(opacity=0) progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffff0000', EndColorStr='#ffffffff'); }
div#fx-tests h4 {
background: red;
View
5 test/unit/css.js
@@ -1,7 +1,7 @@
module("css", { teardown: moduleTeardown });
test("css(String|Hash)", function() {
- expect(41);
+ expect( 42 );
equals( jQuery('#main').css("display"), 'block', 'Check for css property "display"');
@@ -58,6 +58,9 @@ test("css(String|Hash)", function() {
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" );
+ jQuery.support.opacity ?
+ ok(true, "Requires the same number of tests"):
+ ok( ~jQuery("#empty")[0].currentStyle.filter.indexOf("gradient"), "Assert setting opacity doesn't overwrite other filters of the stylesheet in IE" );
var div = jQuery('#nothiddendiv'), child = jQuery('#nothiddendivchild');
Please sign in to comment.
Something went wrong with that request. Please try again.