2

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

目前正在给这个

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

但它抛出一个JS错误。显然是无效的财产。任何人都可以帮助我如何在 IE8 中制作动画..?帮助表示赞赏。

4

2 回答 2

6

尝试使用:

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

也可以看看...

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

于 2012-12-21T13:35:04.380 回答
0

jQuery 有一个step() 回调,在动画的每一步都会触发。

$('.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 + ')');
  }
});
于 2012-12-21T13:48:26.283 回答