1.首先在页面上准备一个复选框
<input type="checkbox" class="mycheckbox" />效果:
2.在复选框上运行脚本
$(".mycheckbox").ios6switch();
3.可以一次指定多个复选框
插件启动时会自动检测每个复选框的勾选状态
$(".mycheckboxes").ios6switch();
1.禁用相应的复选框元素
插件启动时会自动检测每个复选框的disable状态
<input type="checkbox" class="disabledemo" disabled="disabled" />
<script>$(".disabledemo").ios6switch();</script>
2.设置已禁用开关的透明度
$(".disabledopacitydemo").ios6switch({
disabledOpacity: 0.75
});
3.动态修改开关的禁用/启用状态
$(".dynamicdisabledemo").ios6switch();
$(".enablebutton").click(function(){
$(".dynamicdisabledemo").trigger("enable");
});
$(".disablebutton").click(function(){
$(".dynamicdisabledemo").trigger("disable");
});
1.设置开关打开部分的颜色
$(".orangeswitch").ios6switch({switchonColor: "#FF7A00"});
$(".greenswitch").ios6switch({switchonColor: "#0DE900"});
$(".fuchsiaswitch").ios6switch({switchonColor: "#FF00FF"});
$(".tealswitch").ios6switch({switchonColor: "#008080"});
2.同时设置开关打开和关闭部分的颜色
$(".cyanfuchsiaswitch").ios6switch({
switchoffColor: "#00FFFF",
switchonColor: "#FF00FF"
});
3.设置标签文字的颜色
$(".textcolorswitch").ios6switch({
switchoffTextColor: "#FF0000",
switchonTextColor: "#7CFC00"
});
4.设置手柄及其按下时的颜色
$(".thumbcolorswitch").ios6switch({
thumbColor: "#FFFF00",
thumbPressedColor: "#DBDB00"
});
5.同时设置手柄打开和关闭状态的颜色
$(".thumbonoffcolorswitch").ios6switch({
thumbColor: "#FF7A00",
thumbPressedColor: "#B35500",
thumbSwitchonColor: "#FF00FF",
thumbSwitchonPressedColor: "#B300B3"
});
单位:像素
$(".largeswitch").ios6switch({size: 40});
$(".smallswitch").ios6switch({size: 16});
$(".yesnolabelswitch").ios6switch({
switchoffText: "off",
switchonText: "on"
});
$(".sounddemo").ios6switch({
sound: "sounds/unlock.mp3"
});
当鼠标按下手柄并拖动超过5像素时,开关进入拖动状态,松开鼠标后,插件将根据手柄所在的位置来判断开关是开启还是关闭。
拖动效果支持移动设备
$(".nodragdemo").ios6switch({
draggable: false
});
1.无动画
$(".noanimatedemo").ios6switch({
animateSpeed: 0
});
2.1000毫秒
单位:毫秒
$(".animatespeeddemo").ios6switch({
animateSpeed: 1000
});
3.匀速运动
$(".linearanimatedemo").ios6switch({
animateEasing: "linear"
});
$(".showboxdemo").ios6switch({
showOriginalCheckbox: true
});
1.打开和关闭
直接在原复选框元素上运行脚本即可
$(".scriptcontroldemo").ios6switch();
$(".switchonbutton").click(function(){
$(".scriptcontroldemo").trigger("switchon");
});
$(".switchoffbutton").click(function(){
$(".scriptcontroldemo").trigger("switchoff");
});
2.打开或关闭
$(".scripttoggledemo").ios6switch();
$(".toggleswitchbutton").click(function(){
$(".scripttoggledemo").trigger("toggleswitch");
});
1.被动取值
直接对原复选框元素进行取值即可
$(".clickcheckdemo").ios6switch();
$(".checkbutton").click(function(){
alert($(".clickcheckdemo")[0].checked);
});
2.主动触发
直接在原复选框元素上绑定onchange事件即可
$(".changecheckdemo").ios6switch();
$(".changecheckdemo")[0].onchange = function(){
$(".checkfield").addClass("checkchanged");
setTimeout(function(){$(".checkfield").removeClass("checkchanged")}, 100);
$(".checkfield")[0].innerHTML = $(".changecheckdemo")[0].checked;
}
删除iOS6Switch,恢复原来的复选框
$(".deletedemo").ios6switch();
$(".deletebutton").click(function(){
$(".deletedemo").trigger("destroy");
});
1.自定义样式示例 - iOS 7 样式
$(".ios7styledemo").ios6switch({
switchonColor: "#64BD63",
addClass:"ios7style"
});
点击此处展开/隐藏CSS部分
.ios6switch.ios7style{
border:1px solid #999999;
}
.ios6switch.ios7style .ios6switch_shadow_and_highlight{
background:none;
}
.ios6switch.ios7style .ios6switch_thumb{
background-image:none;
border:1px solid #999999;
box-shadow:none;
}
2.自定义样式示例 - 全透明样式
$(".bgtransparentdemo").ios6switch({addClass:"transparentbg"});
点击此处展开/隐藏CSS部分
.ios6switch.transparentbg{
border:1px solid #4C566C;
}
.ios6switch.transparentbg .ios6switch_shadow_and_highlight{
background:none;
}
.ios6switch.transparentbg .ios6switch_thumb{
background:none !important;
border:1px solid #4C566C;
box-shadow:none;
}
.ios6switch.transparentbg .ios6switch_switch_off, .ios6switch.transparentbg .ios6switch_switch_on{
color:#4C566C !important;
background:none !important;
}
3.动态改变尺寸
只需要改变开关的高度即可,开关的宽度固定为高度的79/27
$(".changesizedemo").ios6switch({addClass:"changeSize"});
$(".size20button").click(function(){$(".changeSize").animate({height:"20px"})});
$(".size27button").click(function(){$(".changeSize").animate({height:"27px"})});
$(".size40button").click(function(){$(".changeSize").animate({height:"40px"})});
$(".size50button").click(function(){$(".changeSize").animate({height:"50px"})});
4.自定义样式示例 - 使用CSS定义背景1
$(".bgcolorstyledemo").ios6switch({addClass:"huegradient"});
点击此处展开/隐藏CSS部分
.ios6switch.huegradient .ios6switch_switch_off{
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACpJREFUeNpi/P//PwM2cPbsWaziTAwkglENxAAWXOFtbGw8Gkr00wAQYAD5xAiGkcIskQAAAABJRU5ErkJggg==");
}
.ios6switch.huegradient .ios6switch_switch_on{
background-image:-webkit-linear-gradient(to bottom, #F00, #FF0, #0F0, #0FF, #00F, #F0F);
background-image:linear-gradient(to bottom, #F00, #FF0, #0F0, #0FF, #00F, #F0F);
}
5.自定义样式示例 - 使用CSS定义背景2
$(".bgpatterndemo").ios6switch({addClass:"patterngradient"});
点击此处展开/隐藏CSS部分
.ios6switch.patterngradient .ios6switch_switch_off{
background-color:#CC1166 !important;
}
.ios6switch.patterngradient .ios6switch_switch_on{
background-color:#026873 !important;
}
.ios6switch.patterngradient .ios6switch_switch_off, .ios6switch.patterngradient .ios6switch_switch_on{
color:#FFFFFF !important;
background-size:20px 20px;
background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%, transparent 75%, transparent);
background-image:linear-gradient(135deg, rgba(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%, transparent 75%, transparent);
}
反向
只需要互换打开与关闭部分的样式并且反转true与false的含义即可
$(".invertdemo").ios6switch({
switchonColor: "#FFFFFF",
switchoffColor: "#008AF2",
switchonTextColor: "#555555",
switchoffTextColor: "#FFFFFF",
switchonText: "0",
switchoffText: "1"
});
$(".invertdemo")[0].onchange = function(){
$(".invertcheckfield").addClass("checkchanged");
setTimeout(function(){$(".invertcheckfield").removeClass("checkchanged")}, 100);
$(".invertcheckfield")[0].innerHTML = !$(".invertdemo")[0].checked;
}
默认兼容性:IE9+ Chrome Firefox Safari Opera…
本插件在JS上对IE7/8进行了支持,但是部分核心CSS效果不支持IE7/8(如background-size、border-radius等)
如果要在IE7/8上实现最佳视觉效果,可以参考以下插件:
CSS3 PIE: http://css3pie.com/ background-size polyfill: http://github.com/louisremi/background-size-polyfill
| 选项名称 | 默认值 | 描述 |
| showOriginalCheckbox | false | 是否显示原复选框。 |
| size | 27 | 开关的尺寸。(单位:像素) |
| draggable | true | 是否允许手柄拖动效果。当鼠标按下手柄并拖动超过5像素时,开关进入拖动状态,松开鼠标后,插件将根据手柄所在的位置来判断开关是开启还是关闭,拖动效果支持移动设备。 |
| disabledOpacity | 0.5 | 已禁用开关的透明度。 |
| addClass | "" | 附加到开关元素上的Class,可用于自定义样式等,多个Class请用空格分隔。 |
| sound | "" | 用户操作开关时播放的声音。(指定音频文件的路径,不支持IE8及更低版本的浏览器) |
| animateSpeed | 400 | 滑动动画持续时间。(单位:毫秒) |
| animateEasing | "swing" | 滑动动画的时间曲线,包含swing(缓动)和linear(匀速)两个可用的值。如果要使用更多的动画过渡效果,可以参考 jQuery Easing 插件。 |
| thumbColor | "#FFFFFF" | 手柄在关闭状态下的颜色。 |
| thumbPressedColor | "#CCCCCC" | 手柄在关闭状态下被按下时的颜色。 |
| thumbSwitchonColor | "" | 手柄在打开状态下的颜色。如果此值留空,则会使用与thumbColor相同的颜色。 |
| thumbSwitchonPressedColor | "" | 手柄在打开状态下被按下时的颜色。如果此值留空,则会使用与thumbSwitchonColor相同的颜色。 |
| switchoffTextColor | "#555555" | 关闭标签的文字颜色。 |
| switchonTextColor | "#FFFFFF" | 打开标签的文字颜色。 |
| switchoffText | "0" | 关闭标签的文字。 |
| switchonText | "1" | 打开标签的文字。 |