一、简介

  本篇文章介绍一个比较好使用的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. Maven学习(一)概念简述和安装教程

    刚开始由.net转向java,公司的项目中就开始使用maven,感觉他就像nuget一样,但是他又比nuget要强大(毕竟他是项目管理工具). maven概述 在这里,就不背书包了,怎么简单直接怎么来 ...

  2. 在JavaScript文件中用jQuery方法实现日期时间选择功能

    JavaScript Document $(document).ready(function(e) { 在文本框里面显示当前日期 var date = new Date(); var nian = d ...

  3. sql语句查找某一列的值得最大值。

    记录一下:sql语句查找某一列的值得最大值. 1.例如我要查找 表A中a列的最大值: 查找语句可以这么写: "select Max(a) a from A" 2.查找表A中a列中包 ...

  4. VS2010部署相关

    找到一篇写得最负责的.贴住收藏了: http://blog.csdn.net/xhf55555/article/details/7702212. 之前在其它地方找的都缺胳膊少腿,真不知他们自己怎么实现 ...

  5. react native 第一次下载app的欢迎页+每次启动app的启动页设计

    欢迎各位同学加入: React-Native群:397885169 大前端群:544587175 大神超多,热情无私帮助解决各种问题. 我想我写的这篇博文可以帮助到很多人,接下来要分享的东西,对app ...

  6. 解决 web.xml is missing and <failOnMissingWebXml> is set to true 报错

    在学习maven模块化构建项目的时候遇到了如下报错信息: web.xml is missing and <failOnMissingWebXml> is set to true. 这时候需 ...

  7. go语言练习:sha256、sha512哈希算法

    package main import ( "fmt" "crypto/sha256") func main() { str:="test hash. ...

  8. XML与DataSet的相互转换

    转:https://www.cnblogs.com/kunEssay/p/6168824.html XML与DataSet的相互转换的类 一.XML与DataSet的相互转换的类 using Syst ...

  9. Oracle EBS OM 取消订单行

    DECLARE l_header_rec OE_ORDER_PUB.Header_Rec_Type; l_line_tbl OE_ORDER_PUB.Line_Tbl_Type; l_action_r ...

  10. 转:stack

    数据结构C#版笔记--堆栈(Stack)   堆栈(Stack)最明显的特征就是“先进后出”,本质上讲堆栈也是一种线性结构,符合线性结构的基本特点:即每个节点有且只有一个前驱节点和一个后续节点. 相对 ...