微信小程序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中的对象 推荐
Jan 09 Javascript
js使用for循环查询数组中是否存在某个值
Aug 12 Javascript
js图片闪动特效可以控制间隔时间如几分钟闪动一下
Aug 12 Javascript
jQuery实现非常实用漂亮的select下拉菜单选择效果
Nov 06 Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
Nov 26 Javascript
灵活的理解JavaScript中的this指向
Feb 25 Javascript
Webpack 实现 AngularJS 的延迟加载
Mar 02 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
Mar 18 Javascript
jQuery实现选中行变色效果(实例讲解)
Jul 06 jQuery
使用jQuery实现两个div中按钮互换位置的实例代码
Sep 21 jQuery
微信小程序实现选项卡功能
Jun 19 Javascript
微信小程序左滑删除实现代码实例
Sep 16 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
收听短波不可能有声音清晰的品质吗
2021/03/01 无线电
php数组函数序列之array_search()- 按元素值返回键名
2011/11/04 PHP
Yii中的cookie的发送和读取
2016/07/27 PHP
laravel框架查询数据集转为数组的两种方法
2019/10/10 PHP
关于laravel 日志写入失败问题汇总
2019/10/17 PHP
PHP快速导出百万级数据到CSV或者EXCEL文件
2020/11/27 PHP
Javascript入门学习资料收集整理篇
2008/07/06 Javascript
举例讲解Node.js中的Writable对象
2015/07/29 Javascript
果断收藏9个Javascript代码高亮脚本
2016/01/06 Javascript
jquery实现列表上下移动功能
2016/02/25 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
jQuery实现智能判断固定导航条或侧边栏的方法
2016/09/04 Javascript
Vue 过滤器filters及基本用法
2017/12/26 Javascript
关于axios不能使用Vue.use()浅析
2018/01/12 Javascript
详解ES6 Promise对象then方法链式调用
2018/10/20 Javascript
微信小程序下拉加载和上拉刷新两种实现方法详解
2019/09/05 Javascript
深度解读vue-resize的具体用法
2020/07/08 Javascript
微信小程序视频弹幕发送功能的实现
2020/12/28 Javascript
python解析json实例方法
2013/11/19 Python
在Python的Django框架中加载模版的方法
2015/07/16 Python
python验证码识别教程之利用投影法、连通域法分割图片
2018/06/04 Python
解决Python安装后pip不能用的问题
2018/06/12 Python
python3发送request请求及查看返回结果实例
2020/04/30 Python
pandas之分组groupby()的使用整理与总结
2020/06/18 Python
HTML5实现移动端复制功能
2018/04/19 HTML / CSS
100%羊绒:NakedCashmere
2020/08/26 全球购物
经典c++面试题二
2015/08/14 面试题
PyQt 如何创建自定义QWidget
2021/03/24 Python
新闻专业本科生的自我评价分享
2013/11/20 职场文书
党员干部民主生活会议批评与自我批评材料
2014/09/20 职场文书
2014年政协委员工作总结
2014/12/01 职场文书
2014年企业员工工作总结
2014/12/09 职场文书
前台岗位职责
2015/02/13 职场文书
服务员岗位职责范本
2015/04/09 职场文书
go 原生http web 服务跨域restful api的写法介绍
2021/04/27 Golang
浅谈mysql增加索引不生效的几种情况
2021/06/23 MySQL