編集:これは jQuery 1.3.1 で確認されたバグです。jQuery 1.3.2 で修正されました。
このサンプルとまったく同じ YUI メニュー コントロールがあり、上部にサブ メニューがあります。
メニューを初期化するためにYahooのコードを使用してみました:
YAHOO.util.Event.onContentReady("mnuTopNav", function() {
var oMenuBar = new YAHOO.widget.MenuBar("mnuTopNav", {
autosubmenudisplay: true,
hidedelay: 750,
lazyload: true
});
oMenuBar.render();
});
画像の読み込みに時間がかかるページで問題が発生しています。
見出し (コミュニケーション/ショッピング/エンターテイメント) がすぐに表示されることに気付きましたが、すべての画像が読み込まれるまで、サブ項目があることを示す小さな矢印は表示されません。
これはとても奇妙だと思いました。画像の読み込みが完了する前に初期化されるかどうかを確認するために、コードを JQuery に切り替えてみました (それが$(function()
私がすべきだと思っていたことです)。
$(function(){
var oMenuBar = new YAHOO.widget.MenuBar("mnuTopNav", {
autosubmenudisplay: true,
hidedelay: 750,
lazyload: true
});
oMenuBar.render();
});
驚いたことに、私はまだ同じ問題を抱えていました。ページ全体が読み込まれるまで、メニューは初期化されませんでした。
それは間違いなく待っている画像です。
注: この問題は Internet Explorer でのみ発生します。Firefox は、画像が読み込まれる前にこの onContentReady イベントを発生させるようです。
この問題を回避できますか?
編集:これは jQuery 1.3.1 で確認されたバグです。jQuery 1.3.2 で修正されました。