2012-01-13 60 views
2

我如何獲得這個「不透明度 - 後備」在IE 8中工作?在IE 8中用javascript設置不透明度?

我只想使用純Javascript,沒有CSS或jQuery。

http://jsfiddle.net/snabbdesign/LeLfB/11/

+0

我知道它會不會有什麼漂亮的漸變效果波紋管IE10 ... – Hakan 2012-01-13 02:58:21

+0

您正在使用CSS,你只是用JavaScript來設置它。 ;)e通常用於表示事件,而不是元素。 – epascarello 2012-01-13 03:10:17

+1

如果你想在沒有CSS轉換的瀏覽器中使用淡入淡出效果(如任何版本的IE),並且不想使用已經內置的庫,那麼你將不得不做自己的javascript動畫。這包括計算一個步長值,設置一個計時器並隨着時間的推移以小增量步進不透明度值。一個好的算法會跟蹤它是否超前或落後於計劃並相應地調整步長值。在Google上搜索「javascript tweening animation」獲取更多信息。所有主要的庫(YUI,jQuery等等)都有這個內置的函數。 – jfriend00 2012-01-13 03:11:56

回答

4
e.filter = "alpha(opacity:" + value * 100 + ")"; 

需求是

e.style.filter = 'alpha(opacity=' + value*100 + ')'; 

通知style=

+0

'e.style.filter ='alpha(opacity = 20)'; '應該努力保持簡單。如果你成功地使用了它並且它不顯示,那麼確保該元素有高度,如果它沒有設置overflow:auto;然後容器將包裝到其內容的底部,並且不透明度將顯示說話「。 – John 2013-06-24 01:21:52

+0

如果您有多個過濾器,會發生什麼情況?像另一個ie8漸變? – 2014-08-27 20:24:30