Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动画在IE中失败_Javascript_Jquery_Internet Explorer_Cross Browser - Fatal编程技术网

Javascript 动画在IE中失败

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(不

我正在尝试创建一个jQuery插件,它允许我们在标记中添加入口和出口动画

我的入门动画在Chrome和Firefox中工作,但在IE7或IE8中没有效果

动画由以下程序执行:

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});