zoukankan      html  css  js  c++  java
  • 好看的Select下拉框是如何制造的

    现在在大多数网站中都能看到很华丽的Select下拉框,他们是如何实现的呢?
    使用默认select肯定是不好实现,我们可以使用div+js去模拟出来select的功能,并且又能很简单的去美化它。

    CSS代码部分

    <style type="text/css">
        .mod_select{position:absolute;left:30%;top:100px;font-familY:Arial, Helvetica, sans-serif;}
        .mod_select ul{margin:0;padding:0;}
        .mod_select ul li{list-style-type:none;float:left;margin-left:20px;height:24px;}
        .select_label{color:#982F4D;float:left;line-height:24px;padding-right:10px;font-size:12px;font-weight:700;}
        .select_box{float:left;border:solid 1px #EDE7D6;color:#444;position:relative;cursor:pointer;width:165px;background:url(../select_bg.jpg) repeat-x;font-size:12px;}
        .selet_open{display:inline-block;border-left:solid 1px #E5E5E5;position:absolute;right:0;top:0;width:30px;height:24px;background:url(../select_up.jpg) no-repeat center center;}
        .select_txt{display:inline-block;padding-left:10px;width:135px;line-height:24px;height:24px;cursor:text;overflow:hidden;}
        .option{width:165px;;border:solid 1px #EDE7D6;position:absolute;top:24px;left:-1px;z-index:2;overflow:hidden;display:none;}
        .option a{display:block;height:26px;line-height:26px;text-align:left;padding:0 10px;width:100%;background:#fff;}
        .option a:hover{background:#FDE0E5;}
    </style>

    Js代码部分

    <script type="text/javascript">
        $(document).ready(function(){
                $(".select_box").click(function(event){   
                    event.stopPropagation();
                    $(this).find(".option").toggle();
                    $(this).parent().siblings().find(".option").hide();
                });
                $(document).click(function(event){
                    var eo=$(event.target);
                    if($(".select_box").is(":visible") && eo.attr("class")!="option" && !eo.parent(".option").length)
                    $('.option').hide();                                      
                });
                /*赋值给文本框*/
                $(".option a").click(function(){
                    var value=$(this).text();
                    $(this).parent().siblings(".select_txt").text(value);
                    $("#select_value").val(value)
                 })
            })
    </script>

    Html代码部分

    <div class="mod_select">
        <ul>
            <li>
                <span class="select_label">sort buy:</span>
                <div class="select_box">
                    <span class="select_txt"></span><a class="selet_open"><b></b></a>
                    <div class="option">
                        <a>1</a>
                        <a>2</a>
                        <a>3</a>
                    </div>
                </div>
                <br clear="all" />
            </li>
            <li>
                <span class="select_label">View:</span>
                <div class="select_box">
                    <span class="select_txt"></span><a class="selet_open"></a>
                    <div class="option">
                        <a>1</a>
                        <a>2</a>
                        <a>3</a>
                    </div>
                </div>
            </li>
        </ul>
        <input type="hidden" id="select_value" />
    </div>

    选中的值我们从这个元素里取$("#select_value")就可以了。

  • 相关阅读:
    Mac 虚拟机VMware Fusion显示内部错误的解决方法
    Linux系统中的引导过程与服务控制
    linux系统中如何删除lvm分区
    Linux命令下: LVM逻辑卷配置过程详解(创建,增加,减少,删除,卸载)
    解决:rm: 无法删除"tomcat": 设备或资源忙
    LVM操作过程
    Linux命令下进行硬盘挂载、分区、删除分区,格式化,卸载方法
    finger 命令查询用户名、主目录、停滞时间、登录时间
    【MySQL】MySQL5.7传统复制切换为GTID复制
    深入理解MySQL系列之锁
  • 原文地址:https://www.cnblogs.com/huhangfei/p/4989103.html
Copyright © 2011-2022 走看看