js實現下拉框


<body>部分————————簡單的布個局

<body>
    <div id="box">請選擇手機名稱</div>
    <div id="down">
        <ul class="phones">
            <li>華為</li>
            <li>小米</li>
            <li>oppo</li>
            <li>vivo</li>
            <li>愛瘋</li>
            <li>三星</li>
        </ul>
    </div>
</body>
<style>部分
<style>
        #box{
            color: aliceblue;
            width: 110px;
            height: 25px;
            border: 1px solid #c5c5c5;
            border-radius: 10px;
            background-color: #797777;
            text-align: center;
            /* text-indent: 5px; */
            font-size: 14px;
            line-height: 25px;
            cursor: pointer;
        }
        #down{
            border: 1px solid #c5c5c5;
            width: 90px;
            margin-left: 5px;
            display: none;
        }
        ul{
            padding: 0;
            margin: 0;
        }
        li{
            list-style: none;
            font-size: 14px;
            border-bottom: 1px dashed #c5c5c5;
            text-align: center;
            height: 25px;
            line-height: 25px;
            color: aliceblue;
            background-color: #333;
            cursor: pointer;
        }
        li:hover{
            background-color: #5c0e0e;
        }
    </style>
<script>部分————————實現功能的部分
<script>
        var obox = document.getElementById("box");
        var odown = document.getElementById("down");
        var oli = document.querySelectorAll("li");
        console.log(oli);
        var timer;
        //當點擊obox時,呈現出下拉列表的內容,給個延時效果
        obox.onclick = function(){
            clearInterval(timer);
            timer = setInterval(function(){
                odown.style.display = "block";
            },300)
            ///選中列表中的某一項並將其呈現在box中,隱藏下拉列表
            for(var i=0;i<oli.length;i++){
                oli[i].n = i;
                oli[i].onclick = function(){
                    obox.innerHTML = this.innerHTML;
                    odown.style.display = "none";
                    clearInterval(timer);
                }
            }
        }
</script>

帶有小三角的下拉框

  < div class= "wrap" >
    < ul >
    <li></li>
....
    </ ul >
    < div class= "triangle1" ></ div >
    < div class= "triangle2" ></ div >
  </ div >

/*三角*/  

    .wrap> ul{ position: relative; left: 0px;}
.wrap {
    position: relative; top: -2530px; left: -250px;
    background-color: rgb( 15, 14, 14);
    border: 1px solid grey;
    width: 160px;
    height: 550px;
    z-index: 999;
    display: none;
    margin: 0 auto;  
  }
  .triangle1 {
    display: block;
    position: absolute;
    width: 0px;
    height: 0px;
    border: 8px solid transparent;
    border-bottom-color: rgb( 112, 106, 106);
    top: -17px;
    left: 20px;
    margin:   0 auto;
  }
  .triangle2 {
    display: block;
    position: absolute;
    width: 0px;
    height: 0px;
    border: 8px solid transparent;
    top: -16px;
    border-bottom-color: rgb( 14, 13, 13);
    left: 20px;
    margin: 0 auto;

  }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM