zoukankan      html  css  js  c++  java
  • 开关按钮

    效果如下:

    只需要修改他的样式就可以变换开关的属性,还是比较好用。

    switch.css代码

    body * {font-family: Arial, Helvetica, sans-serif;box-sizing: border-box;-moz-box-sizing: border-box;}
    a {color: #888;    text-decoration: none;}
    small {font-size: 13px;font-weight: normal;padding-left: 10px;}
    #first_div { 90%;    max- 600px;min- 340px;margin: 50px auto 0;color: #444;}
    #second_div { 90%;max- 600px;min- 340px;margin: 50px auto 0;background: #f3f3f3;border: 6px solid #eaeaea;padding: 20px 40px 40px;text-align: center;
    border-radius: 2px;}
    #third_div { 90%;max- 600px;min- 340px;margin: 10px auto 0;}
    
    /* */
    .lcs_wrap {
        display: inline-block;
        direction: ltr;
        height: 28px;
        vertical-align: middle;
    }
    .lcs_wrap input {
        display: none;
    }
    .lcs_switch {
        display: inline-block;
        position: relative;
         37px;
        height: 17px;
        border-radius: 30px;
        background: #ddd;
        overflow: hidden;
        cursor: pointer;
     -webkit-transition: all .2s ease-in-out;
     -ms-transition:     all .2s ease-in-out;
     transition:         all .2s ease-in-out;
    }
    .lcs_cursor {
        display: inline-block;
        position: absolute;
        top: 0px;
         17px;
        height: 17px;
        border-radius: 100%;
        background: #fff;
        box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2), 0 3px 4px 0 rgba(0, 0, 0, 0.1);
        z-index: 10;
     -webkit-transition: all .2s linear;
     -ms-transition:     all .2s linear;
     transition:         all .2s linear;
    }
    .lcs_label {
        font-family: "Trebuchet MS", Helvetica, sans-serif;
        font-size: 12px;
        letter-spacing: 1px;
        line-height: 18px;
        color: #fff;
        font-weight: bold;
        position: absolute;
         33px;
        top: 5px;
        overflow: hidden;
        text-align: center;
        opacity: 0;
     -webkit-transition: all .2s ease-in-out .1s;
     -ms-transition:     all .2s ease-in-out .1s;
     transition:         all .2s ease-in-out .1s;
    }
    .lcs_label.lcs_label_on {
        left: -70px;
        z-index: 6;
    }
    .lcs_label.lcs_label_off {
        right: -70px;
        z-index: 5;
    }
    /* on */
    .lcs_switch.lcs_on {
        background: #75b936;
        box-shadow: 0 0 2px #579022 inset;
    }
    .lcs_switch.lcs_on .lcs_cursor {
        left: 20px;
    }
    .lcs_switch.lcs_on .lcs_label_on {
        left: 10px;
        opacity: 1;
    }
    /* off */
    .lcs_switch.lcs_off {
        background: #b2b2b2;
        box-shadow: 0px 0px 2px #a4a4a4 inset;
    }
    .lcs_switch.lcs_off .lcs_cursor {
        left:0px;
    }
    .lcs_switch.lcs_off .lcs_label_off {
        right: 10px;
        opacity: 1;
    }
    /* disabled */
    .lcs_switch.lcs_disabled {
        opacity: 0.65;
        filter: alpha(opacity=65);
        cursor: default;
    }

    switch.js代码:

    (function(a){if("undefined"!=typeof a.fn.lc_switch)return!1;a.fn.lc_switch=function(d,f){a.fn.lcs_destroy=function(){a(this).each(function(){a(this).parents(".lcs_wrap").children().not("input").remove();a(this).unwrap()});return!0};a.fn.lcs_on=function(){a(this).each(function(){var b=a(this).parents(".lcs_wrap"),c=b.find("input");"function"==typeof a.fn.prop?b.find("input").prop("checked",!0):b.find("input").attr("checked",!0);b.find("input").trigger("lcs-on");b.find("input").trigger("lcs-statuschange");
    b.find(".lcs_switch").removeClass("lcs_off").addClass("lcs_on");if(b.find(".lcs_switch").hasClass("lcs_radio_switch")){var d=c.attr("name");b.parents("form").find("input[name="+d+"]").not(c).lcs_off()}});return!0};a.fn.lcs_off=function(){a(this).each(function(){var b=a(this).parents(".lcs_wrap");"function"==typeof a.fn.prop?b.find("input").prop("checked",!1):b.find("input").attr("checked",!1);b.find("input").trigger("lcs-off");b.find("input").trigger("lcs-statuschange");b.find(".lcs_switch").removeClass("lcs_on").addClass("lcs_off")});
    return!0};return this.each(function(){if(!a(this).parent().hasClass("lcs_wrap")){var b="undefined"==typeof d?"ON":d,c="undefined"==typeof f?"OFF":f,b=b?'<div class="lcs_label lcs_label_on">'+b+"</div>":"",c=c?'<div class="lcs_label lcs_label_off">'+c+"</div>":"",g=a(this).is(":disabled")?!0:!1,e=a(this).is(":checked")?!0:!1,e=""+(e?" lcs_on":" lcs_off");g&&(e+=" lcs_disabled");b='<div class="lcs_switch '+e+'"><div class="lcs_cursor"></div>'+b+c+"</div>";!a(this).is(":input")||"checkbox"!=a(this).attr("type")&&
    "radio"!=a(this).attr("type")||(a(this).wrap('<div class="lcs_wrap"></div>'),a(this).parent().append(b),a(this).parent().find(".lcs_switch").addClass("lcs_"+a(this).attr("type")+"_switch"))}})};a(document).ready(function(){a(document).delegate(".lcs_switch:not(.lcs_disabled)","click tap",function(d){a(this).hasClass("lcs_on")?a(this).hasClass("lcs_radio_switch")||a(this).lcs_off():a(this).lcs_on()});a(document).delegate(".lcs_wrap input","change",function(){a(this).is(":checked")?a(this).lcs_on():
    a(this).lcs_off()})})})(jQuery);

    js代码是混淆后的代码

    html代码:

    <!doctype html>
    <html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="switch.css">
    </head>
    <body>
        <!--代码部分begin-->
        <div id="second_div">
            <form>
                <div style="float: left;  50%;">
                    <p>
                        <input type="checkbox" name="check-1" value="4" class="lcs_check" autocomplete="off" />
                    </p>
                    <p>
                        <input type="checkbox" name="check-2" value="5" class="lcs_check" disabled="disabled" autocomplete="off" />
                    </p>
                    <p>
                        <input type="checkbox" name="check-3" value="6" class="lcs_check lcs_tt1" checked="checked" autocomplete="off" />
                    </p>
                </div>
                <div style="float: right;  50%;">
                    <p>
                        <input type="radio" name="radio-1" value="1" class="lcs_check lcs_tt2" autocomplete="off" />
                    </p>
                    <p>
                        <input type="radio" name="radio-1" value="2" class="lcs_check lcs_tt2" disabled="disabled" autocomplete="off" />
                    </p>
                    <p>
                        <input type="radio" name="radio-1" value="3" class="lcs_check lcs_tt2" checked="checked" autocomplete="off" />
                    </p>
                </div>
            </form>
            <div style="clear:both;"></div>
        </div>
            <script src="https://cdn.bootcss.com/jquery/2.0.0/jquery.min.js"></script>
        <script src="switch.js"></script>
        <script>
    $(function(){
        $('input').lc_switch();
        $('body').delegate('.lcs_check', 'lcs-statuschange', function() {
            var status = ($(this).is(':checked')) ? 'checked' : 'unchecked';
            console.log('field changed status: '+ status );
        });
        $('body').delegate('.lcs_check', 'lcs-on', function() {
            console.log('field is checked');
        });
        $('body').delegate('.lcs_check', 'lcs-off', function() {
            console.log('field is unchecked');
        });
    });
        </script>
        <!--代码部分end-->
    </body>
    </html>
  • 相关阅读:
    努力努力,我假期要练琴学css
    在遇到困难时我们都会想要是这一切不曾发生该多好,可现实并不以我们的意志为转移,我们所能做的就是去克服...
    寒假学习目标~
    平安夜&&圣诞节
    you are the ont that we would like to trust and ca...
    Happy New Year!PR升3啦!
    呵呵,Merry Christmas & Happy New Year!
    使用Rx Framework实现XAML中的物体拖动
    MVVM绑定多层级数据到TreeView并设置项目展开
    Entity framework中EntityFunctions.CreateDateTime方法的闰年闰月bug
  • 原文地址:https://www.cnblogs.com/LoveQin/p/7227463.html
Copyright © 2011-2022 走看看