微信小程序switch组件使用详解


Posted in Javascript onJanuary 31, 2018

本文实例为大家分享了微信小程序switch组件的实现代码,供大家参考,具体内容如下

效果图

微信小程序switch组件使用详解

HTML

<div class="switch-list">
 <span class="fui-fr">红色switch组件</span>
 <input class="fui-switch" style="color:rgb(255, 0, 0);" type="checkbox" checked>
</div>
<div class="switch-list">
 <span class="fui-fr">绿色switch组件</span>
 <input class="fui-switch" style="color:rgb(76, 216, 100);" type="checkbox" checked>
</div>
<div class="switch-list">
 <span class="fui-fr">绿色禁用switch组件</span>
 <input class="fui-switch" style="color:rgb(76, 216, 100);" type="checkbox" checked disabled>
</div>
<div class="switch-list">
 <span class="fui-fr">蓝色switch组件---开</span> 
 <input class="fui-switch" style="color:blue" type="checkbox" checked>
</div>
<div class="switch-list">
 <span class="fui-fr">蓝色switch组件---关</span> 
 <input class="fui-switch" style="color:blue" type="checkbox">
</div>

CSS

.switch-list{
 padding: .5rem;
}
.fui-switch{
 position: relative;
 width: .87rem;
 height: .5rem;
 z-index: 10;
 display: inline-block;
 outline: medium;
 border: 1px solid #dfdfdf;
 border-radius: .25rem;
 background-color: #dfdfdf;
 -webkit-appearance: none;
 -moz-appearance: none;
 vertical-align: middle;
}
.fui-switch:checked{
 border-color: currentColor;
 background-color: currentColor;
}
.fui-switch::after,.fui-switch::before{
 content: "";
 position: absolute;
 height: .44rem;
 top: 0;
 left: 0;
 border-radius: .25rem;
 -webkit-transition: -webkit-transform .3s;
 transition: -webkit-transform .3s;
 transition: transform .3s;
 transition: transform .3s,-webkit-transform .3s;
}
.fui-switch:before {
 width: .84rem;
 background-color: #fdfdfd;
}
.fui-switch:checked:before {
 -webkit-transform: scale(0);
 transform: scale(0);
}
.fui-switch:after {
 width: .44rem;
 background-color: #fff;
 box-shadow: 0 1px 3px rgba(0,0,0,.4);
}
.fui-switch:checked:after {
 -webkit-transform: translateX(.4rem);
 transform: translateX(.4rem);
}
.fui-switch[disabled] {
 opacity: .5;
}
.fui-fr{font-size: .3rem;vertical-align: middle;}

实现rem的JS

(function(win,factory){
 factory(win);
 window.addEventListener('resize',function(){factory(win)},false);
}(window,function(win){
 var width = document.documentElement.clientWidth;
 width = width > 750 ? 750 : width;
 document.documentElement.style.fontSize = width / 7.5 + 'px';
}));

注意

此处 1rem 在 750 的 psd 设计图代表 100px ;
switch 的切换动画是通过 CSS3 的 transition 属性实现;
主要是控制 switch 的 after 的移动,以及 before 的放大缩小动画。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
FileUpload上传图片(图片不变形)
Aug 05 Javascript
JavaScript实现自己的DOM选择器原理及代码
Mar 04 Javascript
JS 按钮点击触发(兼容IE、火狐)
Aug 07 Javascript
javascript制作的网页侧边弹出框思路及实现代码
May 21 Javascript
JavaScript中数组的22种方法必学(推荐)
Jul 20 Javascript
详解用vue-cli来搭建vue项目和webpack
Apr 20 Javascript
React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能
May 26 Javascript
vue项目中引入noVNC远程桌面的方法
Mar 05 Javascript
vue使用ElementUI时导航栏默认展开功能的实现
Jul 04 Javascript
基于Vue+ElementUI的省市区地址选择通用组件
Nov 20 Javascript
JS常见内存泄漏及解决方案解析
May 30 Javascript
ES6中的Javascript解构的实现
Oct 30 Javascript
vue项目中导入swiper插件的方法
Jan 30 #Javascript
微信小程序实现手势图案锁屏功能
Jan 30 #Javascript
简单理解Vue中的nextTick方法
Jan 30 #Javascript
Vue组件中slot的用法
Jan 30 #Javascript
vue初尝试--项目结构(推荐)
Jan 30 #Javascript
JS实现的邮箱提示补全效果示例
Jan 30 #Javascript
JS实现的抛物线运动效果示例
Jan 30 #Javascript
You might like
IIS下配置Php+Mysql+zend的图文教程
2006/12/08 PHP
PHP 编程请选择正确的文本编辑软件
2006/12/21 PHP
对squid中refresh_pattern的一些理解和建议
2009/04/17 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
2016/06/05 PHP
Jquery 1.42 checkbox 全选和反选代码
2010/03/27 Javascript
Javascript中的delete介绍
2012/09/02 Javascript
为什么要在引入的css或者js文件后面加参数的详细讲解
2013/05/03 Javascript
js 弹出新页面避免被浏览器、ad拦截的一种新方法
2014/04/30 Javascript
无限树Jquery插件zTree的常用功能特性总结
2014/09/11 Javascript
JavaScript将一个数组插入到另一个数组的方法
2015/03/19 Javascript
JavaScript监听文本框回车事件并过滤文本框空格的方法
2015/04/16 Javascript
js光标定位文本框回车表单提交问题的解决方法
2015/05/11 Javascript
5种JavaScript脚本加载的方式
2017/01/16 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(一)
2017/05/11 Javascript
vue2.0之多页面的开发的示例
2018/01/30 Javascript
在Vue-cli里应用Vuex的state和mutations方法
2018/09/16 Javascript
JS获取当前时间的实例代码(昨天、今天、明天)
2018/11/13 Javascript
[01:12]DOTA2次级职业联赛 - Newbee.Y 战队宣传片
2014/12/01 DOTA
Python类的基础入门知识
2008/11/24 Python
python目录与文件名操作例子
2016/08/28 Python
解决python3在anaconda下安装caffe失败的问题
2017/06/15 Python
通过Python实现自动填写调查问卷
2017/09/06 Python
python先序遍历二叉树问题
2017/11/10 Python
由面试题加深对Django的认识理解
2019/07/19 Python
解决html5中video标签无法播放mp4问题的办法
2017/05/07 HTML / CSS
DJI大疆德国官方商城:大疆无人机
2018/09/01 全球购物
一些PHP的面试题
2015/05/06 面试题
业务助理岗位职责
2013/11/18 职场文书
班级道德讲堂实施方案
2014/02/24 职场文书
结对共建协议书
2014/08/20 职场文书
2014领导班子四风问题对照检查材料思想汇报
2014/09/21 职场文书
幼儿园校园小喇叭广播稿
2014/10/17 职场文书
夫妻双方自愿离婚协议书
2014/10/24 职场文书
高考诚信考试承诺书
2015/04/29 职场文书
师范生小学见习总结
2015/06/23 职场文书
2016年优秀共产党员先进事迹材料
2016/02/29 职场文书