微信小程序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 相关文章推荐
学习从实践开始之jQuery插件开发 菜单插件开发
May 03 Javascript
详解JavaScript中的4种类型识别方法
Sep 14 Javascript
javascript实现随机显示星星特效
Jan 28 Javascript
AngularJS中的指令全面解析(必看)
May 20 Javascript
jQuery 操作input中radio的技巧
Jul 18 Javascript
JS简单实现浮动窗口效果示例
Sep 07 Javascript
微信小程序 实例开发总结
Apr 26 Javascript
详解在express站点中使用ejs模板引擎
Sep 21 Javascript
js推箱子小游戏步骤代码解析
Jan 10 Javascript
详解react-native WebView 返回处理(非回调方法可解决)
Feb 27 Javascript
vue 权限认证token的实现方法
Jul 17 Javascript
angular8和ngrx8结合使用的步骤介绍
Dec 01 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 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
2006/10/09 PHP
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
2010/10/12 PHP
PHP学习笔记 IIS7下安装配置php环境
2012/10/29 PHP
PHP里的$_GET数组介绍
2019/03/22 PHP
JavaScript之自定义类型
2012/05/04 Javascript
JS获取当前日期时间并定时刷新示例
2021/03/04 Javascript
javascript实现页面刷新时自动清空表单并选中的方法
2015/07/18 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
jQuery事件绑定用法详解(附bind和live的区别)
2016/01/19 Javascript
谈一谈javascript闭包
2016/01/28 Javascript
JS实现1000以内被3或5整除的数字之和
2016/02/18 Javascript
jquery插件之文字间歇自动向上滚动效果代码
2016/02/25 Javascript
微信小程序 登陆流程详细介绍
2017/01/17 Javascript
JS排序之选择排序详解
2017/04/08 Javascript
微信小程序授权获取用户详细信息openid的实例详解
2017/09/20 Javascript
浅谈webpack构建工具配置和常用插件总结
2020/05/11 Javascript
Element Alert警告的具体使用方法
2020/07/27 Javascript
Python函数返回值实例分析
2015/06/08 Python
Python找出list中最常出现元素的方法
2016/06/14 Python
python实现发送邮件及附件功能
2021/03/02 Python
在unittest中使用 logging 模块记录测试数据的方法
2018/11/30 Python
PyQtGraph在pyqt中的应用及安装过程
2019/08/04 Python
python之array赋值技巧分享
2019/11/28 Python
Python实现银行账户资金交易管理系统
2020/01/03 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
2020/03/13 Python
Django nginx配置实现过程详解
2020/09/10 Python
Python3如何使用tabulate打印数据
2020/09/25 Python
Html5 webview元素定位工具的实现
2020/08/07 HTML / CSS
荷兰之家英文站:Holland at Home
2016/10/26 全球购物
艺龙旅行网酒店预订:国内、港澳台酒店
2018/06/26 全球购物
屈臣氏乌克兰:Watsons UA
2019/10/29 全球购物
美国精品地毯网站:Boutique Rugs
2020/03/04 全球购物
什么情况下你必须要把一个类定义为abstract的
2013/01/06 面试题
廉洁家庭事迹材料
2014/05/15 职场文书
2014小学数学教研组工作总结
2014/12/06 职场文书
个园导游词
2015/02/04 职场文书