微信小程序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 parseInt与Number函数的区别
Jan 21 Javascript
javascript实现yield的方法
Nov 06 Javascript
js/jquery解析json和数组格式的方法详解
Jan 09 Javascript
javascript实现的元素拖动函数宿主为浏览器
Jul 21 Javascript
AngularJS HTML编译器介绍
Dec 06 Javascript
JavaScript中toString()方法的使用详解
Jun 05 Javascript
解析预加载显示图片艺术
Dec 05 Javascript
浅谈js使用in和hasOwnProperty获取对象属性的区别
Apr 27 Javascript
AngularJS 异步解决实现方法
Jun 12 Javascript
网页中的图片查看器viewjs使用方法
Jul 11 Javascript
BootStrap TreeView使用实例详解
Nov 01 Javascript
element el-input directive数字进行控制
Oct 11 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
Classes and Objects in PHP5-面向对象编程 [1]
2006/10/09 PHP
php实现多张图片上传加水印技巧
2013/04/18 PHP
yii,CI,yaf框架+smarty模板使用方法
2015/12/29 PHP
Zend Framework框架Smarty扩展实现方法
2016/03/22 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
2019/10/17 PHP
编写高性能的JavaScript 脚本的加载与执行
2010/04/19 Javascript
避免回车键导致的页面无意义刷新的解决方法
2011/04/12 Javascript
js动态创建表格,删除行列的小例子
2013/07/20 Javascript
基于javascript实现简单计算器功能
2016/01/03 Javascript
谈一谈javascript中继承的多种方式
2016/02/19 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
AngularJS 购物车全选/取消全选功能的实现方法
2017/08/14 Javascript
JS跳转手机站url的若干注意事项
2017/10/18 Javascript
vue.js项目nginx部署教程
2018/04/05 Javascript
使用sessionStorage解决vuex在页面刷新后数据被清除的问题
2018/04/13 Javascript
详解ajax的data参数错误导致页面崩溃
2018/04/30 Javascript
JS实现点击拉拽轮播图pc端移动端适配
2018/09/05 Javascript
JavaScript实现的九种排序算法
2019/03/04 Javascript
vue仿ios列表左划删除
2019/09/26 Javascript
vue实现分页加载效果
2019/12/24 Javascript
python实时分析日志的一个小脚本分享
2017/05/07 Python
Python实现随机生成有效手机号码及身份证功能示例
2017/06/05 Python
python实现三次样条插值
2018/12/17 Python
使用PIL(Python-Imaging)反转图像的颜色方法
2019/01/24 Python
python中正则表达式与模式匹配
2019/05/07 Python
给大家整理了19个pythonic的编程习惯(小结)
2019/09/25 Python
Python搭建代理IP池实现检测IP的方法
2019/10/27 Python
Python selenium页面加载慢超时的解决方案
2020/03/18 Python
Python 实现敏感目录扫描的示例代码
2020/05/21 Python
在CentOS7下安装Python3教程解析
2020/07/09 Python
美国LOGO设计公司:The Logo Company
2018/07/16 全球购物
马来西亚最热门的在线时尚商店:FashionValet
2018/11/11 全球购物
极度干燥澳大利亚官方网站:Superdry澳大利亚
2019/03/28 全球购物
eHarmony英国:全球领先的认真恋爱约会平台之一
2020/11/16 全球购物
全运会口号
2014/06/20 职场文书
Mysql外键约束的创建与删除的使用
2022/03/03 MySQL