jQuery 自定义下拉列表框

jQuery 自定义下拉列表框在上一篇《单选框/复选框美化》中,使用到了关键先生<label>,但是很不幸运,在下拉列表框(<select>)中,<label>并不能通过指向来展开选项,所以只能通过自定义的方式模拟一个下拉列表框的功能。上效果图:源码如下:<!author:helangEmail:helang.love@qq.com…

大家好,欢迎来到IT知识分享网。

在上一篇《单选框/复选框美化》中,使用到了关键先生 <label>,但是很不幸运,在下拉列表框(<select>)中,<label>并不能通过指向来展开选项,所以只能通过 自定义的方式 模拟一个下拉列表框的功能。

上效果图:

jQuery 自定义下拉列表框

源码如下:

<!--
    author:helang
    Email:helang.love@qq.com
-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <meta name="author" content="helang.love@qq.com">
    <title>jQuery之美——自定义下拉列表框</title>
    <style type="text/css">
        body{
            margin: 0;
            padding: 0;
            background-color: #ffffff;
            font-size: 14px;
            font-family: 'Microsoft YaHei', 'Times New Roman', Times, serif;
            letter-spacing: 0;
            color: #333333;
        }
        .select_box{
            padding: 0 10px;
            position: relative;
            height: 40px;
            line-height: 40px;
            border: #999999 solid 1px;
            color: #666666;
            user-select: none;
            font-size: 16px;

        }
        .select_box:after{
            content: '';
            display: block;
            width:0;
            height:0;
            border-right:6px solid transparent;
            border-left:6px solid transparent;
            border-top:6px solid #999999;
            position: absolute;
            right: 10px;
            top: 17px;
        }
        .select_box>ul{
            margin: 0;
            padding: 0;
            list-style: none;
            position: absolute;
            width: 100%;
            height: auto;
            border: #999999 solid 1px;
            left: -1px;
            top: 40px;
            display: none;
            background-color: #ffffff;
            z-index: 1;
            font-size: 14px;
        }
        .select_box>ul>li{
            margin: 0;
            line-height: 32px;
            border-top: #999999 solid 1px;
            padding: 0 15px;
        }
        .select_box>ul>li:first-child{
            border-top: none;
        }
        .select_box>ul>li:hover{
            background-color: #999999;
            color: #ffffff;
        }
    </style>
</head>
<body>
<h1 style="text-align: center;">jQuery之美——自定义下拉列表框</h1>
<div style="width: 400px; margin: 50px auto;">
    <div class="select_box" id="stlect_1">
        <div>请选择</div>
    </div>
</div>
<h5 style="text-align: center;">helang.love@qq.com</h5>
<script type="text/javascript" src="https://mydarling.gitee.io/resource/jQuery/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
    /* jQuery对象级别插件扩展 */
    $.fn.extend({
        hlSelect:function (data) {
            var _self={};
            _self.el=$(this);
            _self.data=data || [];
            _self.setList=function(){
                var htmlStr='<ul>';
                $.each(_self.data,function (index,item) {
                    htmlStr+='<li>'+item+'</li>';
                });
                htmlStr+='</ul>';
                _self.el.append(htmlStr);
            };
            _self.setList();

            _self.ListEl = $(this).children("ul");
            _self.el.click(function () {
                if(_self.ListEl.is(':hidden')){
                    _self.ListEl.show();
                }else {
                    _self.ListEl.hide();
                }
            });
            _self.ListEl.on("click",">li",function () {
                _self.el.children("div").html($(this).html());
            });
        }
    });

    $("#stlect_1").hlSelect(['web-7258','WEB前端梦之蓝','helang.love@qq.com','jQuery之美']);
</script>
</body>
</html>

源码部分只是模拟一个下拉列表框的功能,在功能的完整上还有一大步距离。

作者:黄河爱浪 QQ:1846492969,邮箱:helang.love@qq.com

微信公众号:web-7258,本文原创,著作权归作者所有,转载请注明原链接及出处。

更多精彩文章,请扫下方二维码关注我的公众号

jQuery 自定义下拉列表框

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/15496.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信