如何在jquery animate中使用-ms-filter

时间:2012-12-21 13:31:05

标签: javascript jquery internet-explorer-8

我需要针对IE8优化我的网站。并且它不直接支持不透明度。可以使用-ms-filter属性进行设置。在我的javascript中使用jquery animate()更改不透明度。但我如何使用-ms-filter

目前正在给这个

$('.topbar img').animate({opacity:1, -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"},1500);

但它抛出了JS错误。显然无效的属性。任何人都可以帮我如何在IE8中动画..?帮助赞赏。

2 个答案:

答案 0 :(得分:6)

尝试使用:

$('.topbar img').animate(
      {
       opacity:1, 
       '-ms-filter': 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)'
//     ^quotes
      }
  ,1500);

See also...

实际上,使用jquery,您不需要-ms-filter属性。有关示例,请参阅this jsfiddle

答案 1 :(得分:0)

jQuery在动画的每一步都会触发step() callback

$('.topbar img').animate({
  opacity: 1
},
{
  step: function(now, fx) {
    // Every step of the opacity animation we'll get the current 
    // opacity as the 'now' argument.
    var opacity = Math.round(now * 100);
    $(fx.elem).css('-ms-filter', 'progid:DXImageTransform.Microsoft.Alpha(Opacity=' + opacity + ')');
  }
});