0

Mysiteで問題が 発生しています。ナビゲーション バーは JavaScript と jquery のビットです。いくつかのコードをいじって、ページ ビューの前にナビゲーション バーをロードしようとしましたが、正しいコードが見つからないようです。これを達成する正しい方法ですか?

4

4 に答える 4

2

役立つことがいくつかあります。

  1. ナビゲーション要素のすぐ下にタグを配置します。jQuery<script>コードの場合は、ラッパー BC を使用しないでください。BC$(document).ready(function(){は、ページが読み込まれるまで実行を延期します。または、ドキュメント全体の準備が整うのを待つ代わりに、ナビゲーション要素がロードされたらすぐに jQuery ビットを実行する
    などのことを止めるものは何もありません。$('#navContainer').ready(function(){

  2. とは言っても、いつ何をロードするかを実際に判断することはできません。それはあなたの手に負えません。ただし、 のような属性を使用して HTML をレンダリングし、style="display:none;"最初に実行/表示する必要があることを実行したときに、JavaScript を使用して属性を削除する人を見てきました。欠点: いつものように: JS が無効なブラウザーでは、コンテンツがまったく表示されません。ああ、まあ、それらを台無しにします

  3. より詳細な回答もあります。たとえば、ページに空のコンテンツ div を提供し、ナビゲーションとonloador$(doc).readyイベントのみを ajax 呼び出しにバインドして、サイトの実際のコンテンツをフェッチします。しかし、それは、IMO、境界線の非常識な回避策です。

上記のオプションのいずれかを選択して選択するか、それらすべてを一緒に使用します

于 2012-08-02T08:35:09.160 に答える
2

ページが読み込まれるたびにスクリプトが実行されます

<script type="text/javascript">
    window.onload=body_load;

    function body_load()
    {

    dosomethingwithelementA();

    }

    </script>

    <div id="A"></div>

または、DOM の準備ができたらいつでも jquery を使用します

$(document).ready(function()
{
    dosomethingwithelementA();

});
于 2012-08-02T08:17:07.960 に答える
0

私の知る限り、ページが始まる前に実際にHTMLをロードする方法はありません。JQUERYイベントを使用して、ツールバーが読み込まれるまでツールバーの表示を待つ必要があります。または、ツールバーに「display:none」を設定し、window.onloadイベントを使用して、すべてのエフェクトを追加した後にツールバーを表示することもできます。

于 2012-08-02T08:03:06.173 に答える
-3

スクリプトのインクルードをに移動します<head></head>。これが役立つ場合があります。ただし、それでも、JSが起動される前にDOMをロードする必要があります。

于 2012-08-02T08:02:12.180 に答える