微信小程序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 相关文章推荐
window.open关于浏览器拦截问题分析及解决方法
Feb 05 Javascript
JS中 用户登录系统的解决办法
Apr 15 Javascript
JS常用表单验证方法总结
May 22 Javascript
Flexigrid在IE下不显示数据的有效处理方法
Sep 04 Javascript
jQuery结合AJAX之在页面滚动时从服务器加载数据
Jun 30 Javascript
全面解析标签页的切换方式
Aug 21 Javascript
js实现简单的选项卡效果
Feb 23 Javascript
关于vuex的学习实践笔记
Apr 05 Javascript
Angular.js中下拉框实现渲染html的方法
Jun 18 Javascript
jquery插件canvaspercent.js实现百分比圆饼效果
Jul 18 jQuery
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
Dec 09 Javascript
node.js中path路径模块的使用方法实例分析
Feb 13 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实现截取指定长度
2013/08/06 PHP
php字符串过滤与替换小结
2015/01/26 PHP
Yii清理缓存的方法
2016/01/06 PHP
深入理解PHP JSON数组与对象
2016/07/19 PHP
PHP使用Redis替代文件存储Session的方法
2017/02/15 PHP
Laravel框架Request、Response及Session操作示例
2019/05/06 PHP
php创建类并调用的实例方法
2019/09/25 PHP
PHP var关键字相关原理及使用实例解析
2020/07/11 PHP
php自动加载代码实例详解
2021/02/26 PHP
JS创建优美的页面滑动块效果 - Glider.js
2007/09/27 Javascript
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
2011/04/27 Javascript
jQuery EasyUI API 中文文档 - Pagination分页
2011/09/29 Javascript
ExtJS中文乱码之GBK格式编码解决方案及代码
2013/01/20 Javascript
JS中的异常处理方法分享
2013/12/22 Javascript
jquery fancybox ie6不显示关闭按钮的解决办法
2013/12/25 Javascript
使用jquery实现的一个图片延迟加载插件(含图片延迟加载原理)
2014/06/05 Javascript
深入理解JS addLoadEvent函数
2016/05/20 Javascript
JavaScript canvas实现围绕旋转动画
2017/11/18 Javascript
微信小程序实现下拉刷新和轮播图效果
2017/11/21 Javascript
浅析node应用的timing-attack安全漏洞
2018/02/28 Javascript
解决angular2在双向数据绑定时[(ngModel)]无法使用的问题
2018/09/13 Javascript
JavaScript JMap类定义与使用方法示例
2019/01/22 Javascript
vue 实现通过vuex 存储值 在不同界面使用
2019/11/11 Javascript
python3中bytes和string之间的互相转换
2017/02/09 Python
Python格式化输出字符串方法小结【%与format】
2018/10/29 Python
python flask解析json数据不完整的解决方法
2019/05/26 Python
香港唯港荟酒店预订:Hotel ICON
2018/03/27 全球购物
宝拉珍选官方旗舰店:2%水杨酸精华液,收缩毛孔粗大和祛痘
2018/07/01 全球购物
美国杰西潘尼官网:JCPenney
2019/06/12 全球购物
大学生专科毕业生自我评价
2013/11/17 职场文书
司法建议书范文
2014/05/13 职场文书
贷款委托书怎么写
2014/08/02 职场文书
幼儿教师师德师风演讲稿
2014/08/22 职场文书
还款承诺书范本
2015/01/20 职场文书
Python实战之实现简易的学生选课系统
2021/05/25 Python
html实现弹窗的实例
2021/06/09 HTML / CSS