ページが読み込まれるとjQueryを使用して非表示にするphpページにdivがあります。しかし、ロードアップの最初からそれを隠す方法はありますか?
私が尋ねる理由は、ページの読み込み中に div が一瞬表示され、ページが完全に読み込まれると非表示になるためです。
それは専門外に見えます。
これを回避する方法があるかどうか疑問に思っていますか?
ありがとう
ページが読み込まれるとjQueryを使用して非表示にするphpページにdivがあります。しかし、ロードアップの最初からそれを隠す方法はありますか?
私が尋ねる理由は、ページの読み込み中に div が一瞬表示され、ページが完全に読み込まれると非表示になるためです。
それは専門外に見えます。
これを回避する方法があるかどうか疑問に思っていますか?
ありがとう
css スタイルを使用して div を非表示にします。
#selector { display: none; }
または以下のように使用します。
CSS:
.hidden { display: none; }
HTML
<div id="blah" class="hidden"><!-- div content --></div>
そしてjQueryで
$(function () {
$('#blah').removeClass('hidden');
});
私は同じ問題を抱えていました。
CSS を使用して非表示にすることは最善の解決策ではありません。JS を使用していないユーザーに div を表示させたい場合があるためです。最もクリーンな解決策は、JQuery を使用して div を非表示にすることです。ただし、div は約 0.5 秒表示されます。これは、div がページの上部にある場合に問題になります。
このような場合、JQuery を使用しない中間ソリューションを使用します。これは機能し、即時です:
<script>document.write('<style>.js_hidden { display: none; }</style>');</script>
<div class="js_hidden">This div will be hidden for JS users, and visible for non JS users.</div>
もちろん、div に必要なすべての効果、たとえば JQuery toggle() を追加することもできます。そして、可能な限り最高の動作が得られます(imho):
CSS ソリューションを禁止します。最も速い方法は、スクリプトを使用してすぐに非表示にすることです。
<div id="hideme"></div>
<script type="text/javascript">
$("#hideme").hide();
</script>
この場合、Vega による CSS ソリューションをお勧めします。しかし、もっと複雑なもの (アニメーションなど) が必要な場合は、このアプローチを使用できます。
これにはいくつかの複雑な問題があります (以下のコメントを参照してください)。このスクリプトを可能な限り高速に実行したい場合は、jQuery を使用できず、ネイティブ JS のみを使用し、他のすべてのスクリプトの読み込みを延期します。
「display: none;」を追加しない理由 divs スタイル属性に? JQuery の .hide() 関数でできることはこれだけです。
CSS を使用すると、CSS ファイルまたはスタイル属性の要素に display:none を設定できます。
#div { display:none; }
<div id="div"></div>
<div style="display:none"></div>
または、divの直後にjsを配置することも十分に高速かもしれませんが、それほどきれいではありません