カーソルを合わせると選択ボックスのオプションにアクセスする
提起された質問は、カーソルを合わせるとオプションが表示される選択ボックスを作成する方法ではなく、
解決策 1: JavaScript とCSS
このソリューションは JavaScript と CSS を利用して、ホバー時にオプションを表示します:
<code class="javascript">$('#selectUl li:not(":first")').addClass('unselected'); // Hides 'unselected' elements in the ul. $('#selectUl').hover( function(){ // Mouse-over $(this).find('li').click( function(){ $('.unselected').removeClass('unselected'); // Removes the 'unselected' style $(this).siblings('li').addClass('unselected'); // Adds 'unselected' style to other li elements var index = $(this).index(); $('select option:selected').removeAttr('selected'); // Deselects previous selection $('select[name=size]') .find('option:eq(' + index + ')') .attr('selected',true); // Assuming a 1:1 relationship between li and option elements }); }, function(){ // Mouseout or mouseleave });</code>
解決策 2: jQuery プラグイン
An別のアプローチは、jQuery プラグインを使用して、プロセス:
<code class="javascript">$(function() { $('select.makePlain').selectUl(); });</code>
CSS と HTML
デモで使用される CSS と HTML:
<code class="html"><select name="size" class="makePlain"> <option value="small">Small</option> <option value="medium">Medium</option> <option value="large">Large</option> </select> <ul id="selectUl"> <li>small</li> <li>medium</li> <li>large</li> </ul></code>
<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>
カスタマイズ
プラグインは次の方法で簡単にカスタマイズできます。ダイナミック テキスト、説明などの追加機能。
以上がホバー時にオプションを表示する選択ボックスを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。