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" | 打开标签的文字。 |