rcswitcher是一款可以将原生radio按钮和checkbox复选框转换为非常好看的滑动开关按钮的jQuery插件。它内置了light,dark,flat和modern四种主题,你只需要在参数中进行简单的控制,就可以生成非常漂亮的滑动开关按钮。它的特点还有:
- 不需要指定多余和额外的HTML代码
- 通过CSS3平滑过渡动画
- 支持
rtl
- 支持checkbox类型数组,例如:
<input name="delete_users[]">
- 内置多种主题
- 可以管理滑动开关按钮的样式
- 可以控制滑动开关按钮的宽度和高度
- 可以控制滑动开关按钮的滑块的偏移
- 可以控制滑动开关按钮的开关方向
- 可以控制滑动开关按钮的打开状态文字和关闭状态文字
- 能够自动适配字体大小
- 能够自动将滑动开关按钮放置在其父元素中
使用方法
该滑动开关按钮插件需要浏览器支持CSS3 transition属性和transform属性,jQuery版本要求大于1.7.0。
使用该滑动开关按钮插件需要引入jQuery(版本>1.7+),rcswitcher.min.js和rcswitcher.min.css文件。
<link href='dist/rcswitcher.min.css' rel='stylesheet' type='text/css'> <script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript" src="dist/rcswitcher.min.js"></script>
HTML结构
该l滑动开关按钮插件的HTML结构使用label
和input
的组合。
<label >level 1 </label><input type="radio" name="level" value="level1" > <label >Access CP</label><input type="checkbox" name="access_cp" value="access_cp">
初始化插件
在页面DOM元素加载完毕之后,可以通过下面的方法来初始化该滑动开关按钮插件。
$('input[type=checkbox]').rcSwitcher();
配置参数
$('input[type=checkbox]').rcSwitcher({ // 默认值 // 描述 theme: 'flat', // light 滑动开关按钮的主题:'flat, light, dark, modern' width: 80, // 56 in 'px' height: 26, // 22 blobOffset: 0, // 2 reverse: true, // false 颠倒开关顺序 onText: 'YES', // 'ON' ON状态时的文本 offText: 'NO', // 'OFF' OFF状态时的文本 inputs: true, // false 显示相应的inputs autoFontSize: true, // false 根据滑动开关按钮的高度自动调整字体大小 autoStick: true // false 自动放置在父元素中 });
配置参数也可以作为data属性写在HTML标签中。例如:data-ontext=""
和data-offtext=""
分别相当于onText
和offText
属性。
<input type="checkbox" name="" value="" data-ontext="YES" data-offtext="NO" />
事件
$(':radio').rcSwitcher().on({ 'turnon.rcSwitcher': function( e, dataObj ){ // to do on turning on a switch // dataObj.$input current input jq object // dataObj.$switcher current switch jq object // dataObj.components.$toggler swich toggler jq object // dataObj.components.$on switch on jq object // dataObj.components.$off switch off jq object // dataObj.components.$blob switch blob jq object }, 'turnoff.rcSwitcher': function( e, dataObj ){ // to do on turning off a switch }, 'change.rcSwitcher': function( e, dataObj, changeType ){ // to do on turning on or off a switch // changeType is 'turnon' || 'turnoff' } });