微信小程序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 相关文章推荐
7款风格新颖的jQuery/CSS3菜单导航分享
Apr 23 Javascript
实现51Map地图接口(示例代码)
Nov 22 Javascript
jQuery 获取兄弟元素的几种不错方法
May 23 Javascript
javascript将浮点数转换成整数的三个方法
Jun 23 Javascript
javaScript中两个等于号和三个等于号之间的区别介绍
Jun 27 Javascript
JavaScript使用Prototype实现面向对象的方法
Apr 14 Javascript
jQuery继承extend用法详解
Oct 10 Javascript
原生js实现无限循环轮播图效果
Jan 20 Javascript
如何在Angular应用中创建包含组件方法示例
Mar 23 Javascript
layui实现数据分页功能(ajax异步)
Jul 27 Javascript
element 中 el-menu 组件的无限极循环思路代码详解
Apr 26 Javascript
使用这 6个Vue加载动画库来减少我们网站的跳出率
May 18 Vue.js
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
用来给图片加水印的PHP类
2008/04/09 PHP
php定时计划任务与fsockopen持续进程实例
2014/05/23 PHP
php empty 函数判断结果为空但实际值却为非空的原因解析
2018/05/28 PHP
PHP操作Redis数据库常用方法示例
2018/08/25 PHP
php实现 master-worker 守护多进程模式的实例代码
2019/07/20 PHP
JS上传前预览图片实例
2013/03/25 Javascript
JS小功能(操作Table--动态添加删除表格及数据)实现代码
2013/11/28 Javascript
javascript实现在某个元素上阻止鼠标右键事件的方法和实例
2014/08/12 Javascript
node.js中的fs.lchmod方法使用说明
2014/12/16 Javascript
Node.js中child_process实现多进程
2015/02/03 Javascript
EasyUI实现第二层弹出框的方法
2015/03/01 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
jquery+css实现的红色线条横向二级菜单效果
2015/08/22 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
2017/06/30 Javascript
JS实现元素上下左右移动效果
2017/10/18 Javascript
js时间戳与日期格式之间转换详解
2017/12/11 Javascript
解决js ajax同步请求造成浏览器假死的问题
2018/01/18 Javascript
微信小程序引入VANT组件的方法步骤
2019/09/19 Javascript
VUE Elemen-ui之穿梭框使用方法详解
2021/01/19 Javascript
vant picker+popup 自定义三级联动案例
2020/11/04 Javascript
跟老齐学Python之画圈还不简单吗?
2014/09/20 Python
Python使用asyncio包处理并发详解
2017/09/09 Python
Django认证系统实现的web页面实现代码
2019/08/12 Python
pandas数据处理进阶详解
2019/10/11 Python
浅谈Python3实现两个矩形的交并比(IoU)
2020/01/18 Python
Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)
2020/07/20 Python
matplotlib之多边形选区(PolygonSelector)的使用
2021/02/24 Python
AE美国鹰日本官方网站: American Eagle Outfitters
2016/12/10 全球购物
小学生考试获奖感言
2014/01/30 职场文书
数学系个人求职信范文
2014/01/30 职场文书
环保倡议书50字
2014/05/15 职场文书
加强机关作风建设心得体会
2014/10/22 职场文书
个园导游词
2015/02/04 职场文书
保险公司岗前培训工作总结
2015/10/24 职场文书
2016国培研修心得体会
2016/01/08 职场文书