Internet explorer 在IE中设置不透明度动画悬停不起作用

Internet explorer 在IE中设置不透明度动画悬停不起作用,internet-explorer,animation,hover,opacity,Internet Explorer,Animation,Hover,Opacity,我有一个PNG来帮助阅读悬停菜单,但是淡入淡出在IE上不起作用,它在Chrome和Firefox上效果很好,我也用过PNG-24,PNG-8什么都不起作用 $(function() { $('#gradient').animate({ "opacity": 0 }); $('#menu').hover(function() { $('#gradient').removeClass('hidden').animate({opacity: '1'

我有一个PNG来帮助阅读悬停菜单,但是淡入淡出在IE上不起作用,它在Chrome和Firefox上效果很好,我也用过PNG-24,PNG-8什么都不起作用

$(function() {
      $('#gradient').animate({ "opacity": 0 });

        $('#menu').hover(function() {
            $('#gradient').removeClass('hidden').animate({opacity: '1'}, 400);
        }, function() {
            $('#gradient').animate({filter: '0'}, 400);
        });
    });    </script>
$(函数(){
$('#gradient')。设置动画({“不透明度”:0});
$('#菜单')。悬停(函数(){
$('#gradient').removeClass('hidden').animate({opacity:'1'},400);
},函数(){
$('#gradient')。设置动画({filter:'0'},400);
});
});    

IE至少旧版本在结合PNG透明度和CSS透明度方面存在严重问题

我想这在IE9中是固定的,但我不确定


每一个都可以独立工作,但不能在同一个图像对象上工作。

IE8和更低版本不支持标准CSS
opacity
属性

它确实支持不透明度的替代方法,使用IE特定的
filter
属性,但它比
opacity
复杂得多,因为
filter
处理一系列效果

但是,既然您使用的是JQuery,为什么不使用内置的
.fadeIn()
.fadeOut()
效果呢?这样,JQuery就可以为您完成所有的工作,包括确定如何更改浏览器中的不透明度

请参见

我将代码切换到$(document).ready(function(){$('#menu').hover(function(){$('#gradient').fadeIn('slow');},function(){$('#gradient').fadeOut('fast');});但它仍然不会褪色