「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > ダブルクリックの表示/非表示ボタンが 2 回目の呼び出しでのみ機能するのはなぜですか?

ダブルクリックの表示/非表示ボタンが 2 回目の呼び出しでのみ機能するのはなぜですか?

2024 年 11 月 8 日に公開
ブラウズ:338

Why Does a Double-Click Show/Hide Button Only Function on Second Invocation?

初回使用時にボタンの表示/非表示をダブルクリックするのはなぜですか?

Web ページでは、ボタンは表示または非表示を目的としています。要素ですが、最初の呼び出し時にダブルクリックする必要があります。調べたところ、ボタンのコードは次のとおりであることがわかりました。

function showhidemenu() {
  var x = document.getElementById("menu");
  if (x.style.display === "none") {
    x.style.display = "block";
  } else {
    x.style.display = "none";
  }
}

この問題は、ID「menu」の要素の初期状態に起因します。デフォルトでは、要素の表示プロパティは CSS で「none」に設定されています。 showhidemenu() 関数が初めて呼び出されるとき、次のチェックが実行されます:

if (x.style.display === "none")

このチェック要素の初期表示プロパティは「none」であるため、true と評価されます。その結果、要素の表示は「ブロック」に設定されます。ただし、次のクリックでは、表示プロパティは期待どおり「none」に設定されます。

この問題に対処するには、要素の初期表示プロパティを「none」ではなく「empty」に設定する必要があります。そうすることで、最初のクリックで関数のチェックが正しく評価されるようになります。

if (x.style.display === "none" || x.style.display === "")

この変更により、ボタンは意図したとおり、最初のクリックで要素を表示します。

リリースステートメント この記事は次の場所に転載されています: 1729206136 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3