検索

ホームページ  >  に質問  >  本文

ドロップダウン メニューを複数レベルにする

次のようなドロップダウン メニューがあります:

リーリー リーリー ただし、第 2 レベルのメニューは機能しません (「コード スニペットの実行」を押すと表示されます)。最初のレベルの右側に表示する必要があり、各レベルの幅は伸縮可能である必要があります (コンテンツに基づいて自動的に増減します)。さらに、ルート ボタンの幅を最初のレベルの幅にバインドしてはなりません。理想的には、どのレベルにも共通のスタイルがあるべきですが、私は数十のレベルを持っているわけではないので、それは問題ではありません。コードをすべて書き直さずに解決策はありますか?

P粉107772015P粉107772015311日前429

全員に返信(2)返信します

  • P粉235202573

    P粉2352025732024-01-11 16:15:46

    function showNestedDropdown() {
              var firstDropdown = document.getElementById("firstDropdown");
              var nestedDropdownContainer = document.getElementById("nestedDropdownContainer");
          
              if (firstDropdown.value !== "") {
                nestedDropdownContainer.style.display = "block";
              } else {
                nestedDropdownContainer.style.display = "none";
              }
            }
        <select id="firstDropdown" onchange="showNestedDropdown()">
            <option value="">Select an option</option>
            <option value="option1">Option 1</option>
            <option value="option2">Option 2</option>
          </select>
          
          <div id="nestedDropdownContainer" style="display: none;">
            <select id="nestedDropdown">
              <option value="">Select a nested option</option>
              <option value="nested1">Nested Option 1</option>
              <option value="nested2">Nested Option 2</option>
            </select>
          </div>

    返事
    0
  • P粉187160883

    P粉1871608832024-01-11 11:07:48

    次のことができます:

    オーバーフローしたサブレベルが表示されるように、.dropdown-content から overflow: auto; を削除します。 .dropdown:hover .dropdown-content 行に # セレクターを追加して、ホバー上に直接の子が表示されるようにします。最後に、右上隅に表示するサブレベル スタイルを追加します .dropdown-content .dropdown-content { left: 100%; top: 0; }

    リーリー リーリー

    返事
    0
  • キャンセル返事