zoukankan      html  css  js  c++  java
  • 用js实现菜单的下拉列表,实用又简单

      下拉列表本可以用<select>配合<option>来写,方便得很。但是在前端中,好用的东西都有兼容,为了避免出现兼容性的问题,下拉列表用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;
                 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;
                 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>

      以上就是我写的一个简单的下拉列表,尚有欠缺处,还望包含。

  • 相关阅读:
    单页面应用 之 项目中集成插件vue-router
    公共组件的创建和使用
    数据库初识
    MySQL的安装 --windows版本
    多线程补充以及协程
    多线程(三)
    多线程(二)
    多线程(一)
    多进程(二)
    多进程(一)
  • 原文地址:https://www.cnblogs.com/funseey/p/11416120.html
Copyright © 2011-2022 走看看