私のウェブページは次のようなものです。
<div id="id1" class="stuff">
TEXT, FORMS, and STUFF
</div>
<div id="id2" class="stuff" style="display:none">
TEXT, FORMS, and STUFF
</div>
<div id="id3" class="stuff" style="display:none">
TEXT, FORMS, and STUFF
</div>
<a id="btn1">DD</a>
<a id="btn2">DD</a>
<a id="btn3">DD</a>
この下に、クリックされたアイテムの表示を継承するように設定し、他のアイテムの表示をなしに設定するjQueryクリックイベントがあります。
$("#btn2").click(function (e) {
$("#id1").css('display','none');
$("#id3").css('display','none');
$("#id2").css('display','inherit');
});
表示と非表示は正しく機能しますが、最初に非表示にしたdivの一部、特にCSSによって操作される要素が正しくレンダリングされないことに気付きました。基本的に、ページが読み込まれると、非表示のdivが正しくレンダリングされず、表示されると見苦しくなります。これを適切に行う方法は何ですか?
編集::::::::::::::::::::::::::::::::::::::::::::::
私がやったことは、最初に非表示にされたすべてのdivを「visibility:none」に設定し、次にページのonLoad()イベントで表示を設定することです:none。切り替えると、表示と表示の両方が変更されます。すべてが正しくレンダリングされ、静的に非表示に設定されているため、すべてのdivが表示される醜い2秒はありません。