IE8不透明度问题

时间:2013-06-20 01:00:58

标签: jquery internet-explorer opacity fadeto

我把网站放在一起涉及相当多的不透明/褪色效果,但是一部分(菜单栏)在IE8中无法正确显示,而对于我的生活,我无法理解为什么。它可以在更高版本的IE和适当的浏览器中正常工作。

该网站正在

http://stevorasp.no-ip.org

并且可以从那里访问完整的代码,但据我所知,它与JS的这一部分有关:

    $('a').fadeTo(0, 0);
    $('a').addClass('hidden');
    $('#about_cont').fadeTo(0, 0);
    $('#gigs_widget').addClass('hidden');
    $('#music_widget').addClass('hidden');
    $('#contact_cont').addClass('hidden');
    ....
    setTimeout(function(){
      $('a').removeClass('hidden');
      $('a').fadeTo(1200, 0.7);
      $('#about_cont').fadeTo(1200, 0.6);
    }, 11700);

我可能在这里遗漏了一些非常明显的东西,但我很难过。

令我困惑的是,网站的内容部分在IE8中使用不透明效果正常工作,使用以下示例

    $('#about').click(function() {
      $('#about_cont').fadeTo(0,0);
      $('#gigs_widget').animate({"opacity": 0}, 600);
      $('#music_widget').animate({"opacity": 0}, 600);
      $('#contact_cont').animate({"opacity": 0}, 600);
      setTimeout(function(){
        $('#gigs_widget').addClass('hidden');
        $('#music_widget').addClass('hidden');
        $('#contact_cont').addClass('hidden');
      $('#about_cont').removeClass('hidden');
      }, 590);
      setTimeout(function(){
        $('#about_cont').animate({"opacity": 0.6}, 600);
      }, 610);
    });

2 个答案:

答案 0 :(得分:0)

IE7的主要问题& 8是他们不能正确支持不透明效果。您可以在IE 8中使用CSS,如

filter: alpha(opacity=70);

然而,当你在jQuery中使用像.fadeIn()等函数时,据我所知它删除了透明效果。

本文中提到了一些可能的解决方法:Opacity CSS not working in IE8

请注意,在IE8中,大部分内容仅适用于block级元素。

答案 1 :(得分:0)

尝试在要设置动画的元素上使用css zoom属性。在你的情况下,我想这样的事情:

a, a *, #about_cont{zoom:1;display:block}

我无法测试小提琴,因为它根本不支持IE< 9.0