js开关插件使用
一、简介
本篇文章介绍一个比较好使用的js开关插件Switchery,该插件的样式是ios7的滑动按钮插件,并且将很多功能加入到配置项,简单、灵活,支持的绝大部分浏览器(Chrome, Firefox, Opera, Safari, IE8+),github地址:https://github.com/abpetkov/switchery
以下为开关样式展示:
二、使用
1.引入js
<link rel="stylesheet" href="dist/switchery.css" /> <script src="dist/switchery.js"></script>
2.初始化开关样式
html元素
<input type="checkbox" class="js-switch" checked >
单个元素初始化
var elem = document.querySelector('.js-switch'); var init = new Switchery(elem);
多个元素统一初始化
var elems = Array.prototype.slice.call(document.querySelectorAll('.js-switch')); elems.forEach(function(html) { var switchery = new Switchery(html); });
带配置选项初始化
var config = {'color':'#fff'} var init = new Switchery(elem,config);
配置选项
defaults = { color : '#64bd63', //开关元件的颜色(十六进制或RGB值) secondaryColor : '#dfdfdf', //次要的背景颜色和边框的颜色,当开关是关闭的 jackColor : '#fff', //抬起/按下元素的默认颜色 jackSecondaryColor: null, //第二抬起/按下元素的默认颜色 className : 'switchery', //开关元件的类名(默认样式switchery.css) disabled : false, //启用或禁用单击事件和改变开关的状态(布尔值) disabledOpacity : 0.5, //不透明度,当不可见时为true(范围0-1) speed : '0.1s', //转型需要的时间长度,动画效果长度。 size : 'default' //样式的大小(small or large) }
三、在事件中使用
在点击开关时候,通过以下事件获取当前checkbox的状态,可操作对应事件
on change:
var changeCheckbox = document.querySelector('.js-check-change'); changeCheckbox.onchange = function() { alert(changeCheckbox.checked); };
on click:
var clickCheckbox = document.querySelector('.js-check-click') , clickButton = document.querySelector('.js-check-click-button'); clickButton.addEventListener('click', function() { alert(clickCheckbox.checked); });
jqery版本:
$('.js-switch').change(function () { alert(this.checked) })
四、API介绍
1.设置开关禁用或者启用
//禁用 switchery.disable(); //可用 switchery.enable(); //switchery是初始化后的对象
2.设置开关开启或者关闭
Switchery.setPosition(false); //设置按钮为开启状态 Switchery.handleOnchange(true); //设置按钮为关闭状态