ie8中的补间最大不透明度

时间:2013-04-26 14:21:15

标签: internet-explorer-8 opacity tweenlite tweenmax

我正在尝试使用tween max和superscroll脚本,以便在滚动时处理我的内容的不透明度。

这就像chrome,safari,ff,ie9和ie10中的魅力一样。 但是,我对ie8有一个问题。

您可以在此页面中看到问题:http://www.promenade-sainte-catherine.com/localisation

在ie8中向下滚动时,左侧的菜单会将其颜色更改为白色。这没关系,一旦动画结束,它再次变为绿色。

这是我的css:

   body #menuGaucheContainer #menuGauche .logoPSC {
    position: relative; zoom:1;}
    /* line 270, sass/partial/_global.scss */
    body #menuGaucheContainer #menuGauche .logoPSC #log1, body #menuGaucheContainer #menuGauche                .logoPSC #log2 {
      opacity: 0;
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
      position: absolute;
      top: -109px;
      left: 75px; }

这是tweenmax电话

   controller.addTween('#aucoeurducentrevilleContainer', 
        TweenMax.fromTo(jQuery('#img2Localisation'), 1,
            {css:{opacity:0}},
            {css:{opacity:1}}), 
        200);
    controller.addTween('#aucoeurducentrevilleContainer', 
        TweenMax.fromTo(jQuery('#log2'), 1,
            {css:{opacity:0}},
            {css:{opacity:1}}), 
        200);

如果我删除“filter:progid:DXImageTransform.Microsoft.Alpha(Opacity = 0);”线。然后它运行良好,但在页面开头没有任何不透明度为零。

如果我添加css:{opacity:X,alpha:X},则没有任何变化,

如果我将{css:{opacity:0}}更改为{css:{alpha:0}},它会有效,但我仍有一些问题。

有没有人有任何想法?

由于

2 个答案:

答案 0 :(得分:2)

我也遇到过这个问题,新版本的Greensock,并不是因为插件,而是因为CSS。错误在开头语句中:

-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
opacity:    0;

虽然如果您不想支持IE7,这是完全正常的,但它会破坏TweenMax的动画规则。修复是添加IE5-IE7 css规则,即使你一般不支持IE7:

-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
opacity:    0;

答案 1 :(得分:0)

看起来您正在使用非常旧版本的GreenSock文件(TweenMax)。你肯定应该更新 - 这可能会解决问题。 http://www.greensock.com/?download=GSAP-JS否则,请尝试补间到不透明度:0.99而不是1为您解决问题。但同样,我非常确定更新会有所帮助,因为如果我的内存正确,这个特定的场景在TweenMax更新中应用了一个解决方法。