0

次のコーディングでは、IE でフェードイン アニメーションが機能しません。基本的にこれはドロップダウン メニューで、親メニューにカーソルを合わせると Chrome、Mozilla、Opera でアニメーションが表示されますが、IE でのみ問題が発生するようです。

前もって感謝します。

    function mainmenu(){
$(" #nav ul ").css({display: "none"}); // Opera Fix
$(" #nav li").hover(function(){
        $(this).find('ul:first').css({visibility: "visible",display: "none"}).fadeIn(400);
        },function(){
        $(this).find('ul:first').css({visibility: "hidden"});
        });
}



 $(document).ready(function(){                  
    mainmenu();
});
4

1 に答える 1

0

IE8以前では、フェージング効果のサポートが非常に不十分です。

IE9の方がはるかに優れていますが、IE8以前を扱っている場合は、ブラウザーが実行できることを制限することを常に受け​​入れる必要があります。

jQueryは、これの複雑さを開発者から隠すという驚くべき仕事をします。知っておく必要があるのは、.fadeIn()どのブラウザーでも、メソッドだけです。ただし、舞台裏では、IE6/7/8の動作は常に異なります。

この問題に関連するHTMLコードは表示されていませんが、IE8のフェードに関する大きな問題の1つは、画像に関するものです。フェードされるHTMLに画像が含まれている場合、IE8以前のフェードで問題が発生する可能性が非常に高くなります。

それを回避する方法はいくつかありますが、それらは複雑です。基本的に、コードの各部分を個別にフェードする必要があります。

お役に立てば幸いです。

于 2012-07-21T13:56:12.140 に答える