編集:コードと例が変更されました。以下の進捗状況を参照してください。
ドロップダウン/フライアウトリストの表示をアニメーション化するためにJqueryを使用するメニューに取り組んでいます。
アイデアは、javascriptがなくてもうまく機能するメニューを用意することですが、それを有効にすると、Jqueryを少し工夫して、代替のスタイルシートとアニメーションを追加することができます。
問題はIE7とバグを解決できないことです。問題を確認できる例をオンラインで公開しました。IE7では、JavaScriptが有効になっている場合、フライアウト(第2レベルのナビゲーション)は表示されません。
IE8(互換モード)とIE7スタンドアロンでテストしましたが、純粋なIE7でテストする機会がなかったので、もし誰かがそれを持っているなら、試してみて、何が起こるか教えてください。
何が問題になるのか誰か知っていますか?
ファイルへのリンク: uxte.com/test/menu/
例へのリンク: uxte.com/test/menu/dropdown_example.html
以下のjqueryコード:
$( document ).ready (
function() {
$('head link#noscript').replaceWith('<link id="script" rel="stylesheet" href="script.css" type="text/css" />');
/*Menu effects*/
function showElement( element ) {
element.css({
'display' : 'block',
'opacity' : '0'
});
// animate opacity to full
element.stop().animate({opacity: 1},{
duration: 500
});
}
function hideElement( element ) {
// animate opacity to nil
element.stop().animate({opacity: 0},{
duration: 500,
complete: function (){
element.css({ 'display' : 'none' });
}
});
}
$( "div#menu ul li" ).hover (
function() {
var ul = $( this ).find( "ul:first" );
showElement( ul );
},
function() {
var ul = $( this ).find( "ul:first" );
hideElement( ul );
}
);
}
);