ホームページ > 記事 > ウェブフロントエンド > HTML セレクトボックスのオプションをマウスオーバー時に表示させる方法
マウスオーバーで HTML 選択ボックスのオプションを表示する方法
あなたが提示した課題には、ユーザーが操作するまでオプションが非表示になる選択ボックスを作成することが含まれます。その上に浮かんでいます。詳細な解決策は次のとおりです:
実装:
提供されたコードは、jQuery の hover() イベントを利用してリスト要素の表示/非表示を切り替えます。選択されていない CSS クラスは、現在表示されていないリスト項目のスタイルを設定するために使用されます。
<code class="html"><select name="size"> <option value="small">Small</option> <option value="medium">Medium</option> <option value="large">Large</option> </select></code>
<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>
<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>
仕組み:
以上がHTML セレクトボックスのオプションをマウスオーバー時に表示させる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。