animate() 不适用于 IE 中的不透明度

Posted

技术标签:

【中文标题】animate() 不适用于 IE 中的不透明度【英文标题】:animate() not working for opacity in IE 【发布时间】:2010-12-31 08:38:56 【问题描述】:

我正在尝试将 div 的动画从 100% 不透明度变为 40% 不透明度 使用淡入淡出()。我需要使用 animate()。

它在 chrome/FF/safari 中运行良好,但在 IE 中,不透明度没有 动画,它只是在动画完成后更改为那个。 发生在 IE 7 和 8 中。我正在这样做:

                .animate(
                    width: new_width,
                    top: new_top,
                    left: new_left,
                    padding: new_padding,
                    opacity: 0.4,
                    filter: "alpha(opacity=40)"
                ,

...它只是没有为不透明度设置动画。有任何想法吗?

【问题讨论】:

【参考方案1】:

如果你只是删除filter: "alpha(opacity=40)" 它会起作用,opacity: 0.4 就是你所需要的...jQuery 在这里处理了跨浏览器的差异。所以你的动画调用只是:

.animate(
  width: new_width,
  top: new_top,
  left: new_left,
  padding: new_padding,
  opacity: 0.4
)

【讨论】:

以上是关于animate() 不适用于 IE 中的不透明度的主要内容,如果未能解决你的问题,请参考以下文章

Jquery animate() 函数不适用于 IE

如何为 div 背景的不透明度设置动画?

悬停 IE 10/9/8 不适用于透明元素

在使用PNG透明和不透明时,ie7和ie8中的盈余而不是透明

过滤器不透明度不适用于复选框(IE8)

jquery animate:一一改变元素的不透明度