0

私は j query Mega menuを使用しています。ページが読み込まれると、最初にすべてのメニュー (サブメニューを含む) がレンダリング時に一瞬表示され、その後サブメニューが消えて、通常の横長の男性のように見えます。最終的にロードされて適切に見えますが、非常に気が散り、少し奇妙に見えます. 上記の例のページでこれを再現できます。

レンダリング直後にメニューを非表示にしようとしているのとほぼ同じです

この飛び跳ねるインクリメンタルレンダリングなしで、このメニューを「よりクリーン」にロードする方法があるかどうかは誰にもわかりませんか?

4

2 に答える 2

4

$.ready() ラッパーを使用して初期化子を呼び出す場合、ページ全体が完全にロードされるまで待ってからメニューを準備します。次の 2 つのオプションがあります。

  1. 初期化の前に CSS を使用してメニューを非表示にします。

  2. マークアップの直後にメニューを初期化します。

次に例を示します。

<ul id="menu">
    <li>...</li>
    ... giant menu ...
</ul>
<script type="text/javascript">
    $('#menu').giantMenu();
</script>

編集:もっと...

理想的には、javascript を無効にして、ページがどのように表示されるかを確認することです。ページが正常に見えるように、javascript に頼るべきではありません。初期化中に Mega Menu が追加するいくつかのクラスを追加するのと同じくらい簡単かもしれません。

于 2012-02-23T22:06:22.273 に答える