2012-01-13 93 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