2013-04-26 125 views
1

我試圖使用補間最大和超滾動腳本來處理滾動時我的內容的不透明度。ie8中吐溫最大不透明度

這在鉻,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); 

如果我刪除 「過濾器:進程id:DXImageTransform.Microsoft.Alpha(不透明度= 0);」線。然後,它的效果很好,但在頁面開始處沒有任何零不透明度。

如果我添加CSS:{不透明度:X,字母:X},沒有什麼變化,

如果我改變{CSS:{不透明度:0}}到{CSS:{阿爾法:0}},它一些作品,但我仍然有一些問題。

有沒有人有任何想法?

感謝

+1

它看起來像您使用的是很舊版本的使用GreenSock文件(TweenMax)的。你一定要更新 - 這可能會解決問題。 http://www.greensock.com/?download=GSAP-JS否則,我會很好奇,如果補間不透明:0.99而不是1爲你解決的事情。 – Jack 2013-04-28 06:34:35

+0

是的,這完全取得了訣竅:不透明度:0.99而不是1. 非常感謝。 有沒有一種方法,我接受你的答案,這樣你就可以受益(還有很多我不明白在Stackoverflow) – 2013-05-01 23:16:04

+0

當然,我只是將它添加爲您可以接受的答案。無論如何,我可能本應該這樣做 - 對不起。 – Jack 2013-05-06 19:29:45

回答

0

它看起來像您使用的是非常老版本的使用GreenSock文件(TweenMax)的。你一定要更新 - 這可能會解決問題。 http://www.greensock.com/?download=GSAP-JS否則,嘗試補間不透明度:0.99而不是1爲你解決事情。但是,我很確定更新會有所幫助,因爲如果我的內存正確運行,那麼此特定方案在TweenMax更新中應用了一種解決方法。

+0

我不想更新該文件,擔心可能來自該問題的其他問題。所以0.99的解決方案,而不是1工作完美:)謝謝 – 2013-05-06 19:56:52

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;