• 好看的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")就可以了。

  • 相关阅读:
    怎样判断数组类型
    VS2017不能生成Database Unit Test项目
    Windows Server 远程桌面报错:No Remote Desktop License Servers Available
    TFS2018 获取所有Build变量及变量值
    C# 读写bat文件
    【PowerShell 学习系列】-- 删除Win10自带应用
    Win10
    【TFS】TFS2015链接TFS出现TF31002/TF400324问题解决方案
    【SQL Server 学习系列】-- 获取字符串中出现某字符的次数及字符某次出现的下标
    【.Net 学习系列】-- 利用Aspose转换Excel为PDF文件
  • 原文地址:https://www.cnblogs.com/huhangfei/p/4989103.html
Copyright © 2020-2023  润新知