微信小程序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 相关文章推荐
javascript中取前n天日期的两种方法分享
Jan 26 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
Mar 09 Javascript
jQuery实现的简单分页示例
Jun 01 Javascript
JavaScript实现页面无操作倒计时退出
Oct 22 Javascript
微信小程序-滚动消息通知的实例代码
Aug 03 Javascript
JS实现利用两个队列表示一个栈的方法
Dec 13 Javascript
Vue自定义过滤器格式化数字三位加一逗号实现代码
Mar 23 Javascript
JavaScript引用类型Date常见用法实例分析
Aug 08 Javascript
vue 开发之路由配置方法详解
Dec 02 Javascript
element表格翻页第2页从1开始编号(后端从0开始分页)
Dec 10 Javascript
vue倒计时刷新页面不会从头开始的解决方法
Mar 03 Javascript
微信小程序 wx.getUserInfo引导用户授权问题实例分析
Mar 09 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
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
2014/08/18 PHP
PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
2015/11/30 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
2019/10/14 PHP
javascript getElementsByName()的用法说明
2009/07/31 Javascript
Javascript算符的优先级介绍
2013/03/20 Javascript
html文档中的location对象属性理解及常见的用法
2014/08/13 Javascript
原生js编写autoComplete插件
2016/04/13 Javascript
深入理解JavaScript中的call、apply、bind方法的区别
2016/05/30 Javascript
KnockoutJS 3.X API 第四章之表单textInput、hasFocus、checked绑定
2016/10/11 Javascript
jquery dataview数据视图插件使用方法
2016/12/23 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
原生和jQuery的ajax用法详解
2017/01/23 Javascript
原生JS实现幻灯片
2017/02/22 Javascript
基于JavaScript实现的希尔排序算法分析
2017/04/14 Javascript
详解Vue学习笔记进阶篇之列表过渡及其他
2017/07/17 Javascript
vue 标签属性数据绑定和拼接的实现方法
2018/05/17 Javascript
解决layui使用layui-icon出现默认图标的问题
2019/09/11 Javascript
layui 地区三级联动 form select 渲染的实例
2019/09/27 Javascript
[07:20]2014DOTA2西雅图国际邀请赛 选手讲解积分赛第二天
2014/07/11 DOTA
[01:16]DOTA2小知识课堂 Ep.03 芒果树无伤肉山
2019/12/05 DOTA
[37:21]完美世界DOTA2联赛PWL S2 Inki vs Magma 第二场 11.22
2020/11/24 DOTA
pycharm 使用心得(三)Hello world!
2014/06/05 Python
Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)
2017/06/27 Python
python绘制封闭多边形教程
2020/02/18 Python
Python下使用Trackbar实现绘图板
2020/10/27 Python
pymysql模块使用简介与示例
2020/11/17 Python
用CSS3来实现社交分享按钮
2014/11/11 HTML / CSS
凯特·丝蓓英国官网:Kate Spade英国
2016/11/07 全球购物
反邪教宣传工作方案
2014/05/07 职场文书
小学校本培训方案
2014/06/06 职场文书
民主评议党员自我评议范文2014
2014/09/26 职场文书
个人批评与自我批评
2014/10/15 职场文书
搞笑的婚礼主持词
2015/06/29 职场文书
手术室消毒隔离制度
2015/08/05 职场文书
入团申请书格式
2019/06/20 职场文书
navicat 连接Ubuntu虚拟机的mysql的操作方法
2022/04/02 MySQL