jQuery FadeIn在IE上失去了透明度

我在Internet Explorer上使用jQuery FadeIn遇到了设计问题:

我有一个从页面的底部到中心动画的div,我需要实现div突然淡入的效果并激活到页面的中心。 我使用jQuery FadeIn得到了这个效果,但是我在Internet Explorer(7,8)上失去了div的透明度,在Firefox上运行正常。

这是我用来给div提供透明度的CSS代码(这是一个应用于div的类)

display:none; filter:alpha(opacity=90); -moz-opacity: 0.9; opacity: 0.9; 

然后,通过javascript我使div出现(淡出):

 $(Popup).fadeIn(700); $(Popup).css({ "filter": "alpha(opacity=90)", "-moz-opacity": "0.9", "opacity": "0.9" }); //popup falling $(Popup).animate({ marginTop: '+=' + (windowHeight / 2 - popupHeight / 2) + 'px' }, 1000 ); 

正如您所看到的,我尝试将CS​​S属性重新设置为div,但它也不起作用。

提前致谢。

您的CSS属性正在分配,但会立即被fadeIn的持续操作覆盖,这是异步完成的。 您需要使用回调机制链接动画,以便它们不会竞争(除非您希望它们同时发生)。 无论如何,您应该将CSS重新分配移动到fadeIn的回调。

 $(Popup).fadeIn(700, function() { $(this).css({ ... }); }); 

你应该使用jQuery的fadeTo,而不是fadeIn:

 $(Popup).fadeTo(700, 0.9); 

使用jQuery fadeTo函数: http ://api.jquery.com/fadeTo/

更换:

 $(Popup).fadeIn(700); 

有:

 $(Popup).fadeTo(700,0.9);