css实现switch开关,js控制

8 篇文章 0 订阅
1 篇文章 0 订阅

最近做项目遇到个switch,我还是百度解决的,但是我不能解决就完事啊,我得学会,然后和大家分享出来。
这里写图片描述
对就是这样非常的好使,也非常的美观,下面咱就撸代码。

<input class="switch switch-anim" type="checkbox" checked>//html部分

下面是css部分,有些地方我会解释下的

.switch {
            width: 57px;
            height: 28px;
            position: relative;
            border: 1px solid #dfdfdf;
            background-color: #fdfdfd;
            box-shadow: #dfdfdf 0 0 0 0 inset;
            border-radius: 20px;
            background-clip: content-box;
            display: inline-block;
            -webkit-appearance: none;
            user-select: none;
            outline: none;
        }
        .switch:before {
            content: '';
            width: 26px;
            height: 26px;
            position: absolute;
            top: 0;
            left: 0;
            border-radius: 20px;
            background-color: #fff;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
        }
        .switch:checked {
            border-color: #64bd63;
            box-shadow: #64bd63 0 0 0 16px inset;
            background-color: #64bd63;
        }
        .switch:checked:before {
            left: 30px;
        }
        .switch.switch-anim {
            transition: border cubic-bezier(0, 0, 0, 1) 0.4s, box-shadow cubic-bezier(0, 0, 0, 1) 0.4s;
        }
        .switch.switch-anim:before {
            transition: left 0.3s;
        }
        .switch.switch-anim:checked {
            box-shadow: #64bd63 0 0 0 16px inset;
            background-color: #64bd63;
            transition: border ease 0.4s, box-shadow ease 0.4s, background-color ease 1.2s;
        }
        .switch.switch-anim:checked:before {
            transition: left 0.3s;
        }

-webkit-appearance : none 是用来移除原生控件样式
transition是css3的过渡效果
cubic-bezier 这个是贝塞尔曲线有个可视化的网站(http://cubic-bezier.com
这里写图片描述
好了,css完事就来点js,去控制这个switch开关

function checkNum(){
        if($('.switch-anim').prop('checked')){
            console.log("选中");
        }else{
            console.log("没选中");
        }
    }

这里写图片描述
当然不要忘了去调用,这个函数哦

<input class="switch switch-anim" onchange="checkNum()" type="checkbox" checked />
  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值