css實現switch開關,js控制

最近做項目遇到個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 />
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章