Javascript 动画在IE中失败
我正在尝试创建一个jQuery插件,它允许我们在标记中添加入口和出口动画 我的入门动画在Chrome和Firefox中工作,但在IE7或IE8中没有效果 动画由以下程序执行:Javascript 动画在IE中失败,javascript,jquery,internet-explorer,cross-browser,Javascript,Jquery,Internet Explorer,Cross Browser,我正在尝试创建一个jQuery插件,它允许我们在标记中添加入口和出口动画 我的入门动画在Chrome和Firefox中工作,但在IE7或IE8中没有效果 动画由以下程序执行: animate({'top':posData.top+'px', 'left':posData.left+'px', “不透明度”:1}, 速度) 或各种类型(取决于所需的方向)。posData正在记录到控制台,以便您可以查看可能的值速度在插件开始时设置。IE8和IE7不支持CSS2-不透明度,您需要过滤器:alpha(不
animate({'top':posData.top+'px',
'left':posData.left+'px',
“不透明度”:1},
速度)
或各种类型(取决于所需的方向)。posData正在记录到控制台,以便您可以查看可能的值<代码>速度在插件开始时设置。IE8和IE7不支持CSS2-
不透明度
,您需要过滤器:alpha(不透明度=70)代码>。请阅读更多细节
在JSFIDLE中,您正在更改div的不透明度。由于IE8和IE7不支持不透明度
,因此您看不到任何动画
编辑
检查一下这篇文章。它提到了解决问题的hasLayout
希望这对您有所帮助。如果您使用jQuery.css()将不透明度设置为0,您可以修复它:
jQuery正在为相关浏览器使用正确的不透明过滤器
或者你可以直接使用CSS中的过滤器,我想,正如Amar所提到的。。。(但是CSS验证失败)这是以下因素的组合:
- 布局所需的元素
- 需要使用过滤器:alpha(不透明度=70);不透明度是否正常工作
- Chrome似乎不喜欢
data
属性中的大写字母,这导致我在JavaScript中删除了它们。Chrome和Firefox对此表示满意,但IE坚持案例匹配,因此将HTML中的data-
属性更改为小写,并确保它们的JS对应项匹配
如果您得到任何解决方案,请将其张贴在此处。它将帮助其他面临同样问题的人。谢谢。我已经在下面回答了我自己,希望它能帮助别人。你也可以接受你的答案。
$('.animate').anim().css({"opacity": 0});