微信小程序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 相关文章推荐
通过JS获取用户本地图片路径并显示的代码
Feb 16 Javascript
jQuery拖动图片删除示例
May 10 Javascript
Js判断参数(String,Array,Object)是否为undefined或者值为空
Nov 04 Javascript
jquery限定文本框只能输入数字(整数和小数)
Jan 08 Javascript
jQuery 如何给Carousel插件添加新的功能
Apr 18 Javascript
ES6生成器用法实例分析
Apr 10 Javascript
详解angularJs指令的3种绑定策略
Apr 13 Javascript
angularjs中回车键触发某一事件的方法
Apr 24 Javascript
JavaScript中防止微信浏览器被整体拖动的方法
Aug 25 Javascript
JS实现可切换图片的幻灯切换效果示例
May 24 Javascript
vue.js 子组件无法获取父组件store值的解决方式
Nov 08 Javascript
JS性能优化实现方法及优点进行
Aug 30 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利用iframe实现无刷新文件上传功能的代码
2011/09/29 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
2019/10/15 PHP
javaScript 读取和设置文档元素的样式属性
2009/04/14 Javascript
页面回到顶部的三种实现(锚标记,js)
2012/10/01 Javascript
document.createElement()用法及注意事项(ff下不兼容)
2013/03/13 Javascript
javascript 实现map集合
2015/04/03 Javascript
jQuery实现图片预加载效果
2015/11/27 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
2016/01/15 Javascript
vue.js 表格分页ajax 异步加载数据
2016/10/18 Javascript
AngularJS辅助库browserTrigger用法示例
2016/11/03 Javascript
Vue.js学习记录之在元素与template中使用v-if指令实例
2017/06/27 Javascript
Three.js如何用轨迹球插件(trackball)增加对模型的交互功能详解
2017/09/25 Javascript
Vuejs开发环境搭建及热更新【推荐】
2018/09/07 Javascript
js中位运算的运用实例分析
2018/12/11 Javascript
js使用swiper实现层叠轮播效果实例代码
2018/12/12 Javascript
搭建Vue从Vue-cli到router路由护卫的实现
2019/11/14 Javascript
Vue 3.0中jsx语法的使用
2020/11/13 Javascript
node使用async_hooks模块进行请求追踪
2021/01/28 Javascript
[48:21]林俊杰圣堂刺客超神杀戮秀
2014/10/29 DOTA
跟老齐学Python之有容乃大的list(2)
2014/09/15 Python
对python添加模块路径的三种方法总结
2018/10/16 Python
python去掉 unicode 字符串前面的u方法
2018/10/21 Python
Python多版本开发环境管理工具介绍
2019/07/03 Python
python实现拼图小游戏
2020/02/22 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
2020/07/14 Python
HTML5 移动页面自适应手机屏幕四类方法总结
2017/08/17 HTML / CSS
JACK & JONES英国官方网站:欧洲领先的男装生产商
2017/09/27 全球购物
PHP如何设置和取得Cookie值
2015/06/30 面试题
当文件系统受到破坏时,如何检查和修复系统?
2012/03/09 面试题
企业元宵节主持词
2014/03/25 职场文书
求职个人评价范文
2014/04/09 职场文书
资产运营委托书范本
2014/10/16 职场文书
2015年元旦标语大全
2014/12/09 职场文书
《落花生》教学反思
2016/02/16 职场文书
Java 异步任务计算FutureTask
2022/04/28 Java/Android
Ubuntu18.04下QT开发Android无法连接设备问题解决实现
2022/06/01 Java/Android