このクエリでは、クリックする代わりにカーソルを合わせるとオプションが表示される選択ボックスの作成について説明します。この効果を実現するには、次のアプローチを実装できます。
<code class="js">$('#selectUl li:not(":first")').addClass('unselected'); // Hide unselected elements $('#selectUl').hover( function() { // Mouseover event $(this).find('li').click( function() { $('.unselected').removeClass('unselected'); // Remove unselected styles $(this).siblings('li').addClass('unselected'); // Add unselected styles to other elements var index = $(this).index(); // Get the index of the clicked option $('select option:selected').removeAttr('selected'); // Deselect the previously chosen option $('select[name=size]') .find('option:eq(' + index + ')') .attr('selected', true); // Select the new option } ); }, function() { // Mouseout event // Hide unselected elements } );</code>
選択ボックスのスタイルを設定するには、次の CSS を使用できます。
<code class="css">select { opacity: 0.5; } ul { width: 8em; line-height: 2em; } li { 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">(function($) { $.fn.selectUl = function() { // ... code goes here ... return $(this); }; })(jQuery); $('#sizes').selectUl();</code>
以上がHTML セレクト ボックスのオプションをホバー時に表示するようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。