一、简介

  本篇文章介绍一个比较好使用的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. Vue + WebPack + Typescript初学者VSCode项目 (按需加载、跨域调试、await/async)

    万事开头难,一个好的Hello World程序可以节省我们好多的学习时间,帮助我们快速入门.Hello World程序之所以是入门必读必会,就是因为其代码量少,简单易懂.但我觉得,还应该做到功能丰富, ...

  2. 对WebSocket技术的学习与探索(二)

    近日重新开始学习WebSocket技术,什么是WebSocket,在<对WebSocket技术的学习与探索(一)>文章中已经说明白了,还没理解可以看看这篇文章http://www.ruan ...

  3. webpack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  4. ChatOps如何变革企业业务

    [编者按]本文作者为日志分析软件公司 Logz.io 的联合创始人 Tomer Levy,主要介绍 ChatOps 的特点与发展历程,以及将来可能带来的业务变革.文章系国内 ITOM 管理平台 One ...

  5. Azure 元数据服务:适用于 Windows VM 的计划事件(预览)

    计划事件是 Azure 元数据服务中的其中一个子服务. 它负责显示有关即将发生的事件(例如,重新启动)的信息,使应用程序可以为其做准备并限制中断. 它可用于所有 Azure 虚拟机类型(包括 PaaS ...

  6. 使用 Visual Studio Team Services 和 IIS 创建持续集成管道

    若要将应用程序开发的生成.测试和部署阶段自动化,可以使用持续集成和部署 (CI/CD) 管道. 本教程介绍如何在 Azure 中使用 Visual Studio Team Services 和 Win ...

  7. Visual Basic 6.0(VB6.0)详细安装过程

    注:大家如果没有VB6.0的安装文件,可自行百度一下下载,一般文件大小在200M左右的均为完整版的软件,可以使用. 特别提示:安装此软件的时候最好退出360杀毒软件(包括360安全卫士,电脑管家等,如 ...

  8. vs 2012/2013 等工具中,使用正则表达式,查找、替换

    有这样一个需求,就是一个文本中,需要找出指定格式的字符串进行指定的替换,当前我的真实需求是,一个sql创建触发器的文本,我需要将所有的 包含 TB_SYS 的表名后面添加一个 “_NEW”字符串! 例 ...

  9. .net反编译工具

    1:.Net Reflector [收费]官方网址:http://www.red-gate.com/products/dotnet-development/reflector/ 2:ILSpy/dnS ...

  10. Linux中 /proc/[pid] 目录各文件简析

    Linux 内核提供了一种通过 proc 文件系统,在运行时访问内核内部数据结构.改变内核设置的机制.proc 文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文件系统的方式为访问系 ...