1

かなりの量の不透明度/フェード効果を含むサイトをまとめましたが、一部 (メニュー バー) が 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);
    });
4

2 に答える 2

0

IE7 & 8 の主な問題は、不透明効果を適切にサポートしていないことです。IE 8のようにCSSを使用できます

filter: alpha(opacity=70);

ただし、jQuery で .fadeIn() などの関数を使用すると、私が知る限り、透明効果が削除されます。

この投稿で言及されている回避策がいくつかあります: Opacity CSS not working in IE8

IE8 では、これらのほとんどがblockレベル要素でのみ機能することに注意してください。

于 2013-06-20T01:08:42.347 に答える