>  기사  >  웹 프론트엔드  >  마우스 오버 시 옵션을 표시하는 선택 상자를 만드는 방법은 무엇입니까?

마우스 오버 시 옵션을 표시하는 선택 상자를 만드는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-02 09:17:02157검색

How to Create a Select Box That Shows Options on Hover?

마우스를 올리면 선택 상자 옵션에 액세스

제시된 질문은 마우스를 올리면 옵션이 표시되는 선택 상자를 만드는 방법이 아니라 클릭하세요.

솔루션 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 플러그인

대체 접근 방식은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.