一、简介

  本篇文章介绍一个比较好使用的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); //设置按钮为关闭状态

js开关插件使用的更多相关文章

  1. Sublime Text 2 JS 格式化插件 JsFormat的配置使用

    (转自http://www.jb51.net/softjc/178401.html) 这里下载这插件包 https://github.com/jdc0589/JsFormat ,点油下角的zip就能下 ...

  2. Django 的css和js压缩插件:django_compressor

    今天尝试了django_conpressor,一个在django框架中压缩css和js的插件,灰常有用 我把它加载在我的base的HTML template中,原来未经压缩的css和js是: < ...

  3. knob.js进度插件

    关于knob.js进度插件的使用 关于这个插件,妹的,第一次使用坑死爹了,各种不会,幸亏我有持之以恒的精神,最终还是让其臣服于我的胯下.... 1.  引入 head  部分添加knob.js,同时引 ...

  4. Sublime Text 2 JS 格式化插件 JsFormat

    这里下载这插件包 https://github.com/jdc0589/JsFormat ,点油下角的zip就能下载插件包放到sublime安装目录的DataPackages目录中重新打开sublim ...

  5. Notyf - 超级简单、响应式的 JS 通知插件

    通知是网站的常用功能之一,可以用来显示消息.通告.提示等等.Notyf 是一款超级简单.响应式的 JS 通知插件,不依赖 jQuery 库,可以独立使用.赶紧试用一下吧! 在线演示      免费下载 ...

  6. js写插件教程深入

    原文地址:https://github.com/lianxiaozhuang/blog 转载请注明出处 js 写插件教程深入 1.介绍具有安全作用域的构造函数 function Fn(name){ t ...

  7. move.js运动插件

    move.js 运动插件是一款针对元素动画效果的插件.可以运用此插件制作出各类元素效果. 插件GitHub地址:https://github.com/visionmedia/move.js 下面整理学 ...

  8. 支持移动触摸设备的简洁js幻灯片插件

    lory是一款支持移动触摸设备的简洁的js幻灯片插件.该幻灯片插件可以通过纯js调用,也可以将该幻灯片插件作为jQuery插件来使用.该幻灯片的过渡动画具有硬件加速功能,并且可以定制是否使用easin ...

  9. Sublime Text 3 JS 格式化插件 JsFormat的配置使用

    1.首先需要下载安装包:(下载地址:https://github.com/jdc0589/JsFormat) 2.插件包放到sublime安装目录的Data\Packages目录中 3.快捷键 Ctr ...

随机推荐

  1. Flutter 修改TextField的高度,以及无边框圆角

    修改TextField的高度可以通过decoration: InputDecoration的contentPadding进行修改,代码如下 new TextField( decoration: Inp ...

  2. 移动端采坑:Position: fixed 在Safari上的Bug

    Position: fixed 在IOS上的显示效果 会出现两种情况: 点击fixed定位的元素会出现fixed定位失效导致的元素贴向底部,即position: absolute,bottom: 0p ...

  3. Loadrunner打开VU时候报错Critical error(cannot use Exceptiondialog)

    打开Loadrunner打开VU时候报错Critical error(cannot use Exceptiondialog) 卸载后,删掉注册表,重新安装,打开还是这样 怎么办呢 我男票告诉我,从开始 ...

  4. go语言练习:条件语句和循环语句

    1.for循环+if条件语句简单例子: package main import "fmt" func main() { var a int for a = 0; a <= 2 ...

  5. Oracle EBS OPM 查询现有量

    --查询现有量 --created by jenrry DECLARE p_inventory_item_id NUMBER := 231652; --NOT NULL p_organization_ ...

  6. NodeJS中MySql的增删改查操作

    纯粹记录一下最基础写法,几乎没有写什么逻辑,写法也并不是很完善(因为我自己也刚刚摸索出来这么写可以...= =!)    望高手指教   也希望能够帮到比我还新的新手.... //1.insert操作 ...

  7. python selenium模拟登录163邮箱和QQ空间

    最近在看python网络爬虫,于是我想自己写一个邮箱和QQ空间的自动登录的小程序, 下面以登录163邮箱和QQ空间和为例: 了解到在Web应用中经常会遇到frame/iframe 表单嵌套页面的应用, ...

  8. SharePoint读取配置文件

    配置文件存放目录 C:\inetpub\wwwroot\wss\VirtualDirectories\80\web.config 读取配置 string Name=Configuration.WebC ...

  9. 转:基于InstallShield2013LimitedEdition的安装包制作

    InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序)   InstallShield Limited Edit ...

  10. python基础学习19----socket网络编程

    网络通信三要素 ip地址:InetAddress 网络中设备的标识,不易记忆,可用主机名(计算机的标识号) 端口号:用于标识进程的逻辑地址,不同进程的标识(正在运行的软件的标识号) 传输协议:通讯的规 ...