JavaScript コントロール要素の初期表示の問題を修正: 動的コンテンツがデフォルトで非表示になるようにする
問題の理解: 動的要素の初期可視性
Web 開発では、ユーザーの操作 (チェックボックスのクリックなど) に基づいて、ページ上の特定の要素を動的に表示または非表示にする必要がよくあります。ただし、よくある問題は、デフォルトで非表示にする必要があるこれらの要素が、ページの読み込み時に誤って表示されてしまうことです。これらは、ユーザー操作 (チェックボックスのクリックとクリック解除など) の後にのみ、期待どおりに非表示になります。
これは通常、要素の表示/非表示を制御する JavaScript コードが、特定のイベント (クリック イベントなど) が発生した場合にのみ起動されるためです。ページが最初に読み込まれるとき、イベントは発生しないため、JavaScript の表示/非表示ロジックはまだ実行されていないため、要素はデフォルトの表示状態のままになります。
次のシナリオを考えてみましょう。チェックボックスで時間入力フィールドの表示/非表示を切り替えます。最初は、時間入力フィールドは非表示になっている必要があります。
<input type="checkbox" class="testmethod" id="beastmode" name="beastmode" tabindex="5">ビーストモード <div class="入力グループの日付" id="id_1"> <input type="text" name="day11" value="09:00 AM" class="form-control" placeholder="終了時間" title=""> <div class="input-group-addon input-group-append"> <div class="入力グループテキスト"> <i class="glyphicon glyphicon-time fa fa- Clock-o"></i> </div> </div> </div> $("#beastmode").click(function () { if ($(this).prop('checked') === true) { $('#id_1,#id_2').show(); } それ以外 { $('#id_1,#id_2').hide(); } });
この例では、id_1 (および場合によっては id_2) 要素の可視性のみが、#beastmode チェックボックスがクリックされた後のチェックボックスの状態に基づいて調整されます。 #beastmode が選択されていない場合、ページがロードされると、id_1 が表示されたままになりますが、これは予想外です。
解決策 1: JavaScript を使用してページの読み込み時に非表示を初期化する
この問題を解決するには、JavaScript を使用して、ページが読み込まれた直後に非表示操作を実行します。 jQuery の $(function() { ... }); (または $(document).ready(function() { ... });) メソッドは、DOM が完全にロードされて準備ができた後に、指定されたコード ブロックが確実に実行されるようにします。
// $(function () { $('#id_1,#id_2').hide(); // ページが読み込まれるとすぐにこれらの要素を非表示にします}); $("#beastmode").click(function () { if ($(this).prop('checked') === true) { $('#id_1,#id_2').show(); } それ以外 { $('#id_1,#id_2').hide(); } });
アドバンテージ:
- シンプルでわかりやすく、理解しやすく、実装も簡単です。
- これにより、ユーザーが要素の操作を開始する前に、要素が正しい初期非表示状態にあることが保証されます。
欠点:
- 「スタイルのないコンテンツのフラッシュ (FOUC)」が発生する可能性があります。 JavaScript ファイルの読み込みが遅い場合、または実行にわずかな遅れがある場合、要素が短時間表示されてから突然非表示になり、ユーザー エクスペリエンスが不安定になることがあります。
- ユーザーのブラウザで JavaScript が無効になっている場合、または JavaScript コードの実行が失敗した場合、これらの要素は常に表示され、非表示にすることはできません。
解決策 2: CSS を使用してデフォルトの非表示状態を設定する (推奨)
より堅牢で推奨されるアプローチは、CSS を介して要素のデフォルトの非表示状態を設定することです。このアプローチでは、JavaScript の実行に依存するのではなく、要素の初期表示の制御がスタイルシートに渡されます。
/* 次の CSS ルールをスタイルシートまたは <style> タグに追加します*/ #id_1、#id_2 { 表示: なし。 /* デフォルトではこれらの要素を非表示にします */ }</style>
この CSS ルールを、HTML ドキュメントの
セクションの以上がJavaScript コントロール要素の初期表示の問題を修正: 動的コンテンツがデフォルトで非表示になるようにするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Stock Market GPT
AIを活用した投資調査により賢明な意思決定を実現

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

このチュートリアルは、CSSを使用してHTMLページの特定のテキストコンテンツを正確に非表示にする方法を詳しく説明し、不適切なセレクターのために親要素全体が非表示になっているという問題を回避します。ターゲットテキストのラッピング要素に排他的なCSSクラスを追加し、ディスプレイを使用して以下を使用します。属性、開発者はページ要素の洗練された制御を実現し、必要な部品のみが隠されていることを確認し、それによりページレイアウトとユーザーエクスペリエンスを最適化します。

usemailto:inhreftocreateemaillinks.startwithforbasiclinks、add?subject = and&body = forpre-fillcontent、およびincludemultipreaddresseSorcc =、bcc = foradvencedoptions。

USECSSFLOATPROPERTYTOWRAPTEXTARONDANIMAGE:floatleftortextontontheright、floatrightextontontheleft、addmarginforspacing、およびclearfloatstopreventlayoutissues。

setthelangattributionthehtmltagtospecifypagelanangage、たとえば、たとえば、forenglish;

この記事では、クロスドメインのiframesを含む親divでムースタウンイベントをキャプチャするという課題について説明します。中心的な問題は、ブラウザのセキュリティポリシー(同じオリジンポリシー)が、ドメインクロスIFRAMEコンテンツでの直接DOMイベントリスニングを防ぐことです。このタイプのイベントキャプチャは、IFRAMEソースドメイン名が制御され、CORSが構成されていない限り、実現できません。この記事では、これらのセキュリティメカニズムを詳細に説明し、イベントインタラクションに関する制限を説明し、可能な代替案を提供します。

この記事では、HTMLで外部JavaScript関数を呼び出す際の2つの一般的な問題を調査します。スクリプトの読み込み時間が不適切になり、DOM要素が準備ができていません。また、関数の命名は、ブラウザの組み込みイベントまたはキーワードと競合する場合があります。この記事では、スクリプト参照位置の調整や、JavaScriptコードが正しく実行されることを確認するための優れた関数の命名仕様に従って、詳細なソリューションを提供します。

UsethetitLeattributeForsimpletOultipsOrcsSorcustom-styledones.1.addtitle = "text" to nayelementfordefaultTooltips.2.forStyledTooltips、wraptheelementinAcontainer、use.tooltipand.tooltiptextextextexcscstioning、pseudo-spositing、andsoditioning、andvisctioning

the objecttagispReforrededExternalContEntDuetoitsversitiLity、FallbackSupport、およびStandardsComplianceは、BedissimplerButlackSfallButlackSandParameteroptionsを使用して、Basicusecasesを作成します。
