1

不透明度プロパティとjQueryアニメーション関数を使用して、水平タブメニューにクリックのような効果を実装しようとしています。これを行うためのコードは次のとおりです。

$(document).ready(function() {      
    $("div#header > ul > li").click(function(event) {
        $(this).animate({opacity: 0.7} ,"fast", "", function() {
            $(this).animate({opacity: 1} ,"fast");
        });
    });
});

Internet Explorer 7および6で問題が発生します。不透明度プロパティを使用してアニメーション化すると、水平メニューのタブが初期位置を失います。

私のウェブサイトにアクセスするには、ここをクリックしてください。問題を確認するには、[Contato]をクリックしてから、[Início]をクリックします(申し訳ありませんが、ポルトガル語で書かれていますが、バグが発生するのを確認できるはずです)。注意、これまで私はIE7 / IE6でのみこの問題を検出しました!

前もって感謝します!

4

1 に答える 1

1

IEは不透明度をサポートしていないため、不透明度とInternetExplorerに関連するバグにすぎないと思います。jQuery.support.opacity属性のjQueryドキュメントから:

不透明度:ブラウザが不透明度スタイルプロパティを適切に解釈できる場合はtrueになります(現在IEではfalseであり、代わりにアルファフィルタを使用します)。

バグを回避し、互換性のあるブラウザに影響を与えるために、アニメーションコードを次の条件でラップしました。

if ($.support.opacity) {
//animation code
}
于 2009-09-19T20:43:54.053 に答える