微信小程序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 相关文章推荐
setTimeout()与setInterval()方法区别介绍
Dec 24 Javascript
JavaScript设计模式学习之“类式继承”
Mar 12 Javascript
jQuery获得指定元素坐标的方法
Apr 14 Javascript
js中最容易被忽视的事件问题大总结
May 15 Javascript
Jquery获取当前城市的天气信息
Aug 05 Javascript
基于JavaScript实现自动更新倒计时效果
Dec 19 Javascript
原生JS实现《别踩白块》游戏(兼容IE)
Feb 20 Javascript
vue页面使用阿里oss上传功能的实例(二)
Aug 09 Javascript
js canvas实现简单的图像扩散效果
Jun 28 Javascript
浅谈Vue SSR 的 Cookies 问题
Nov 20 Javascript
countUp.js实现数字动态变化效果
Oct 17 Javascript
利用 JavaScript 构建命令行应用
Nov 17 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
声音就能俘获人心,蕾姆,是哪个漂亮小姐姐配音呢?
2020/03/03 日漫
用PHP和ACCESS写聊天室(七)
2006/10/09 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
2012/10/24 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
2014/04/19 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
2015/01/07 PHP
PHP的AES加密算法完整实例
2016/07/20 PHP
功能强大的PHP发邮件类
2016/08/29 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
2019/10/01 PHP
js 居中漂浮广告
2010/03/21 Javascript
浅析Javascript使用include/require
2013/11/13 Javascript
js父页面与子页面不同时显示的方法
2014/10/16 Javascript
jquery实现手机号码选号的方法
2015/07/31 Javascript
基于jquery实现图片放大功能
2016/05/07 Javascript
浅谈JavaScript中面向对象的的深拷贝和浅拷贝
2016/08/01 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
2016/12/06 Javascript
JS Object.preventExtensions(),Object.seal()与Object.freeze()用法实例分析
2018/08/25 Javascript
vue element table 表格请求后台排序的方法
2018/09/28 Javascript
为nuxt项目写一个面包屑cli工具实现自动生成页面与面包屑配置
2019/09/29 Javascript
jquery 遍历hash操作示例【基于ajax交互】
2019/10/12 jQuery
jQuery实现滑动星星评分效果(每日分享)
2019/11/13 jQuery
Vue+abp微信扫码登录的实现代码示例
2020/01/06 Javascript
微信小程序点击view动态添加样式过程解析
2020/01/21 Javascript
详细解析Python当中的数据类型和变量
2015/04/25 Python
Python 多核并行计算的示例代码
2017/11/07 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
2018/03/23 Python
使用Eclipse如何开发python脚本
2018/04/11 Python
Python中py文件引用另一个py文件变量的方法
2018/04/29 Python
如何用python整理附件
2018/05/13 Python
python读取txt文件并取其某一列数据的示例
2019/02/19 Python
浅析PyTorch中nn.Module的使用
2019/08/18 Python
flask框架自定义url转换器操作详解
2020/01/25 Python
定义css设备类型-Media Queries图表简介及使用方法
2013/01/21 HTML / CSS
会计应届生的自荐信
2013/12/13 职场文书
迟到检讨书2000字(精选篇)
2014/10/07 职场文书
社团个人总结范文
2015/03/05 职场文书
学生会工作感言
2015/08/07 职场文书