ホームページ >ウェブフロントエンド >CSSチュートリアル >HTML セレクトボックスのオプションをマウスオーバー時に表示させる方法

HTML セレクトボックスのオプションをマウスオーバー時に表示させる方法

Barbara Streisand
Barbara Streisandオリジナル
2024-10-31 00:26:301087ブラウズ

How to Make HTML Select Box Options Appear on Hover?

マウスオーバーで HTML 選択ボックスのオプションを表示する方法

あなたが提示した課題には、ユーザーが操作するまでオプションが非表示になる選択ボックスを作成することが含まれます。その上に浮かんでいます。詳細な解決策は次のとおりです:

実装:

提供されたコードは、jQuery の hover() イベントを利用してリスト要素の表示/非表示を切り替えます。選択されていない CSS クラスは、現在表示されていないリスト項目のスタイルを設定するために使用されます。

HTML マークアップ:

<code class="html"><select name="size">
  <option value="small">Small</option>
  <option value="medium">Medium</option>
  <option value="large">Large</option>
</select></code>

CSS スタイル:

<code class="css">select {
  opacity: 0.5;
}
ul {
  width: 8em;
  line-height: 2em;
}
li {
  cursor: pointer;
  display: list-item;
  width: 100%;
  height: 2em;
  border: 1px solid #ccc;
  border-top-width: 0;
  text-indent: 1em;
  background-color: #f90;
}
li:first-child {
  border-top-width: 1px;
}
li.unselected {
  display: none;
  background-color: #fff;
}
ul#selectUl:hover li.unselected {
  background-color: #fff;
}
ul#selectUl:hover li,
ul#selectUl:hover li.unselected {
  display: list-item;
}
ul#selectUl:hover li {
  background-color: #fc0;
}
ul#selectUl li:hover,
ul#selectUl li.unselected:hover {
  background-color: #f90;
}</code>

JavaScript イベント処理:

<code class="js">$('#selectUl li:not(":first")').addClass('unselected');

$('#selectUl').hover(
  function () {
    $(this).find('li').click(function () {
      $('.unselected').removeClass('unselected');
      $(this).siblings('li').addClass('unselected');
      var index = $(this).index();
      $('select option:selected').removeAttr('selected');
      $('select[name=size]')
        .find('option:eq(' + index + ')')
        .attr('selected', true);
    });
  },
  function () {}
);</code>

仕組み:

  1. 最初は、選択されていないクラスを追加することで、UL 内のすべてのオプション要素が非表示になります。
  2. ユーザーが ul の上にマウスを移動すると、hover() イベントがトリガーされ、最初の項目 (選択されたオプション表示) を除くすべてのリスト項目が表示されます。
  3. いずれかのリスト項目をクリックすると、選択されていない項目が切り替わります。
  4. index() メソッドは、クリックされたオプションのインデックスを決定するために使用され、その後、

以上がHTML セレクトボックスのオプションをマウスオーバー時に表示させる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。