2

シナリオ: 複数の DIV を含むページがあります。一部の DIV は、最初のページの読み込み時に非表示にする必要があります。Jquery hide() 関数を使用して DIV を非表示にしました。

問題: 何らかの理由で、jquery の非表示機能が部分的にしか機能していないように見えます。つまり、非表示にする必要がある DIV が 1 秒間完全に表示されて非表示になります。

とにかくこれを解決する方法はありますか?

4

1 に答える 1

10

JavaScript は、DOM の準備が整うまで実行されないため (まだ存在しない要素を非表示にすることはできません)、ブラウザーはそれをレンダリングしてから非表示にします。ブラウザの速度とコードの効率性によっては、それに気付く場合と気付かない場合があります。

はるかに優れた解決策は、css を使用して、要素がロードされないようにすることです。

#elementId { display:none; }

このルールは、残りの CSS とともにスタイル タグ内に含めます。非表示/表示したい要素が多数ある場合は、それらすべてに共通のクラス名を付けます。その後、それらの可視性を一度に切り替えることができます。そのための css は次のようになります。

.commonClassName { display:none; }

次に、jQuery で呼び出し.show()て、それらを表示したり.toggle()、可視性のオン/オフを切り替えたりできます。jQuery クラス セレクターは css セレクターと同じです。

$('.commonClassName').show();

注: html の style 属性を使用してスタイルを変更することもできます style="display:none;"

于 2012-07-17T04:18:29.190 に答える