一、简介

  本篇文章介绍一个比较好使用的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. ElementUI制作树形表组件

    提要 最近项目中需要用到树形表格来描述部门.区域之间的父子展开关系.但是已经在项目中使用的Vue的成熟组件ElementUI以及iViewUI组件都没有提供相应的树形表格组件,无奈找了其他替代方案也都 ...

  2. [SSRS / RV] (.rdlc报表)冻结表头,固定行列标题

    转自:https://blog.csdn.net/dietime1943/article/details/72846171?utm_source=blogxgwz9 Reporting Service ...

  3. Python之Pandas知识点

    很多人都分不清Numpy,Scipy,pandas三个库的区别. 在这里简单分别一下: NumPy:数学计算库,以矩阵为基础的数学计算模块,包括基本的四则运行,方程式以及其他方面的计算什么的,纯数学: ...

  4. apk安装提示:Failure [INSTALL_FAILED_DUPLICATE_PERMISSION perm=XXX]

    近日,楼主在同一台手机上,同时安装同一个游戏的不同渠道包,add install后,提示:Failure [INSTALL_FAILED_DUPLICATE_PERMISSION perm=andro ...

  5. EntityFramework 贪婪加载与延迟加载以及资源回收

    EntityFramework的资源回收 1) Using 内包含Entity的上下文关系,对俩表做Add操作,最好可以直接写一个 entity.SaveChanges(); 完成两张表的同时add操 ...

  6. EntityFramework Code-First 简易教程(二)-------Code First约定

    Code First 约定 在前一篇中,我们已经知道了EF Code-First怎样从模型类(domain classes)中创建数据库表,下面,我们开始学习默认的Code-First约定. 什么是约 ...

  7. Unity Mono

    Unity的mscrolib.dll和.Net的mscrolib.dll 好奇于Unity的mscrolib.dll和.Net Framework提供的mscrolib是否一致. .Net的mscro ...

  8. 【MYSQL】语法复习

    一.数据类型 截图来源: http://www.runoob.com/mysql/mysql-data-types.html 二.基本语句 1.创建数据表 -- 主键自增,T_User CREATE ...

  9. win10子系统linux.ubuntu开发环境搭建

    移步新博客... win10子系统linux.ubuntu开发环境搭建

  10. python3: 数字日期和时间(1)

    ---恢复内容开始--- 1. 数字的四舍五入 Q: 你想对浮点数执行指定精度的舍入运算 A: 简单的使用内置的round(value, ndigits)函数即可. >>> roun ...