Mysiteで問題が 発生しています。ナビゲーション バーは JavaScript と jquery のビットです。いくつかのコードをいじって、ページ ビューの前にナビゲーション バーをロードしようとしましたが、正しいコードが見つからないようです。これを達成する正しい方法ですか?
4 に答える
役立つことがいくつかあります。
ナビゲーション要素のすぐ下にタグを配置します。jQuery
<script>
コードの場合は、ラッパー BC を使用しないでください。BC$(document).ready(function(){
は、ページが読み込まれるまで実行を延期します。または、ドキュメント全体の準備が整うのを待つ代わりに、ナビゲーション要素がロードされたらすぐに jQuery ビットを実行する
などのことを止めるものは何もありません。$('#navContainer').ready(function(){
とは言っても、いつ何をロードするかを実際に判断することはできません。それはあなたの手に負えません。ただし、 のような属性を使用して HTML をレンダリングし、
style="display:none;"
最初に実行/表示する必要があることを実行したときに、JavaScript を使用して属性を削除する人を見てきました。欠点: いつものように: JS が無効なブラウザーでは、コンテンツがまったく表示されません。ああ、まあ、それらを台無しにしますより詳細な回答もあります。たとえば、ページに空のコンテンツ div を提供し、ナビゲーションと
onload
or$(doc).ready
イベントのみを ajax 呼び出しにバインドして、サイトの実際のコンテンツをフェッチします。しかし、それは、IMO、境界線の非常識な回避策です。
上記のオプションのいずれかを選択して選択するか、それらすべてを一緒に使用します
ページが読み込まれるたびにスクリプトが実行されます
<script type="text/javascript">
window.onload=body_load;
function body_load()
{
dosomethingwithelementA();
}
</script>
<div id="A"></div>
または、DOM の準備ができたらいつでも jquery を使用します
$(document).ready(function()
{
dosomethingwithelementA();
});
私の知る限り、ページが始まる前に実際にHTMLをロードする方法はありません。JQUERYイベントを使用して、ツールバーが読み込まれるまでツールバーの表示を待つ必要があります。または、ツールバーに「display:none」を設定し、window.onloadイベントを使用して、すべてのエフェクトを追加した後にツールバーを表示することもできます。
スクリプトのインクルードをに移動します<head></head>
。これが役立つ場合があります。ただし、それでも、JSが起動される前にDOMをロードする必要があります。