属性.
在js中初始化开关控件时,可以指定配置项,如下例子
<script type="text/javascript">
$.fn.bootstrapSwitch.defaults.size = 'mini';//修改开光控件默认选项大小的值
$(function(){
/*初始化开关控件,指定配置项*/
$('[name="checkbox-name"]').bootstrapSwitch({
state:true,//勾选状态,对应checkbox的checked属性
size : 'large',//大小,默认为null(与normal大小相同),值可为null,'mini','small','normal','large'
animate:false,//切换过程的动画,默认为true
disabled : true,//禁用,对应checkbox的disabled属性,默认为false
readonly : true,//只读,对应checkbox的readonly属性,默认为false
indeterminate:true,//未选的,默认为false
inverse:true,//开关方向
onColor:'danger',//表示选中文本的背景色,默认为'primary',值可为'primary','info','success','warning','danger','default'
offColor:'info',//表示位选中文本的背景色,默认为'default',值可为'primary','info','success',warning','danger','default'
onText:'喜欢',//选中文本,默认为'ON'
offText:'再考虑吧',//未选中文本,默认为'OFF'
labelText:'点击切换',//开关控件中间部分显示文本,默认为' '
handleWidth:50,//开关控件选中文本与未选中文本的长度,默认为'auto'
labelWidth:0,//开关控件中间部分显示文本的长度,默认为'auto'
baseClass:'bootstrap-switch',//开关控件全局class的前缀,默认为'bootstrap-switch',
wrapperClass:['custom-wrapper','wrapper'],//开关控件最外层容器的样式类,值可为数组或字符串,默认为'wrapper'
onInit:function(element,event,state){//控件初始化时触发
console.log('onInit:');
console.log(this);//开关控件的jQuery对象
console.log(element);//checkbox的DOM elememt元素
console.log(event);//jQuery事件
console.log(state);//开关的初始化选中状态
},
onSwitchChange:function(event,state){//控件状态改变时触发
console.log('onSwitchChange:');
console.log(this);//checkbox的DOM elememt元素
console.log(event);//jQuery事件
console.log(state);//开关切换后的选中状态
}
});
//以下是调用开关控件的方法
$('[name="checkbox-name"]').bootstrapSwitch('disabled',false);
$('[name="checkbox-name"]').bootstrapSwitch('readonly',false);
$('[name="checkbox-name"]').bootstrapSwitch('indeterminate',false);
$('[name="checkbox-name"]').bootstrapSwitch('state',false);
});
</script>
也可以在元素内指定配置项.在元素内指定配置项时,除checked,readonly,和disabled直接作为元素属性配置外,其它配置项是js配置项中对应配置项的驼峰方式改为'-'线方式并加'data-'前缀.如
<input type="checkbox" name="checkbox-name" checked data-on-color="danger" data-indeterminate="true" data-size="large"/>
<div>
/*data-radio-all-off对应的js配置项为radioAllOff,是radio元素特有的属性配置项,意思是同一组radio是否可以全不选*/
<input type="radio" name="radioName" data-radio-all-off="false">
<input type="radio" name="radioName" data-radio-all-off="true">
<input type="radio" name="radioName" data-radio-all-off="true">
</div>
js方式和元素内同时指定同一个配置属性,js的优先级高.
方法
Bootstrap Switch控件中,属性即方法,如
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>Bootstrap Switch 开关控件</title>
<link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="css/bootstrap-switch.css">
<script type="text/javascript" src="js/jQuery.js"></script>
<script type="text/javascript" src="js/bootstrap-switch.js"></script>
<script type="text/javascript">
$(function(){
//初始化
$('[name="cb-name"]').bootstrapSwitch(
onInit:function(element,event,state){//控件初始化时触发
console.log('onInit:');
console.log(this);//开关控件的jQuery对象
console.log(element);//checkbox的DOM elememt元素
console.log(event);//jQuery事件
console.log(state);//开关的初始化选中状态
},
onSwitchChange:function(event,state){//控件状态改变时触发
console.log('onSwitchChange:');
console.log(this);//checkbox的DOM elememt元素
console.log(event);//jQuery事件
console.log(state);//开关切换后的选中状态
}
});
/*设置属性方法*/
//state方法第三个参数默认为false,设置为true时state值改变也不触发switchChange方法
$('[name="cb-name"]').bootstrapSwitch('state',false,true);
$('[name="cb-name"]').bootstrapSwitch('size','large');
//animate虽然可设置值,但改变不了控件初始化动画状态
$('[name="cb-name"]').bootstrapSwitch('animate',true);
$('[name="cb-name"]').bootstrapSwitch('disabled',true);
$('[name="cb-name"]').bootstrapSwitch('readonly',true);
$('[name="cb-name"]').bootstrapSwitch('indeterminate',true);
$('[name="cb-name"]').bootstrapSwitch('inverse',true);
$('[name="cb-name"]').bootstrapSwitch('onColor','info');
$('[name="cb-name"]').bootstrapSwitch('offColor','warning');
$('[name="cb-name"]').bootstrapSwitch('onText','恭喜');
$('[name="cb-name"]').bootstrapSwitch('offText','没选耶');
$('[name="cb-name"]').bootstrapSwitch('labelText','需切换么');
$('[name="cb-name"]').bootstrapSwitch('handleWidth',150);
$('[name="cb-name"]').bootstrapSwitch('labelWidth','auto');
//baseClass只能取值,不能设值
$('[name="cb-name"]').bootstrapSwitch('baseClass','prefix');
//如果第二个参数的表达式的布尔值为false时,wrapperClass重置为默认值wrapper
$('[name="cb-name"]').bootstrapSwitch('wrapperClass','second-checkbox-wrapper');
/*获取属性方法*/
console.log('state->' + $('[name="cb-name"]').bootstrapSwitch('state'));
console.log('size->' + $('[name="cb-name"]').bootstrapSwitch('size'));
console.log('animate->' + $('[name="cb-name"]').bootstrapSwitch('animate'));
console.log('disabled->' + $('[name="cb-name"]').bootstrapSwitch('disabled'));
console.log('readonly->' + $('[name="cb-name"]').bootstrapSwitch('readonly'));
console.log('indeterminate->' + $('[name="cb-name"]').bootstrapSwitch('indeterminate'));
console.log('inverse->' + $('[name="cb-name"]').bootstrapSwitch('inverse'));
console.log('onColor->' + $('[name="cb-name"]').bootstrapSwitch('onColor'));
console.log('offColor->' + $('[name="cb-name"]').bootstrapSwitch('offColor'));
console.log('onText->' + $('[name="cb-name"]').bootstrapSwitch('onText'));
console.log('offText->' + $('[name="cb-name"]').bootstrapSwitch('offText'));
console.log('labelText->' + $('[name="cb-name"]').bootstrapSwitch('labelText'));
console.log('handleWidth->' + $('[name="cb-name"]').bootstrapSwitch('handleWidth'));
console.log('labelWidth->' + $('[name="cb-name"]').bootstrapSwitch('labelWidth'));
console.log('baseClass->' + $('[name="cb-name"]').bootstrapSwitch('baseClass'));
console.log('wrapperClass->' + $('[name="cb-name"]').bootstrapSwitch('wrapperClass'));
$('#toggle').click(function(){
console.log('---------------------toggle-------------------');
/*除属性可作为方法外,还有补充其它方法*/
//toggleState方法第二个参数默认为false,设置为true时不触发switchChange方法
$('[name="cb-name"]').bootstrapSwitch('toggleState',true);
$('[name="cb-name"]').bootstrapSwitch('toggleAnimate');
$('[name="cb-name"]').bootstrapSwitch('toggleDisabled');
$('[name="cb-name"]').bootstrapSwitch('toggleReadonly');
$('[name="cb-name"]').bootstrapSwitch('toggleIndeterminate');
$('[name="cb-name"]').bootstrapSwitch('toggleInverse');
/*切换后的属性值*/
console.log('state->' + $('[name="cb-name"]').bootstrapSwitch('state'));
console.log('animate->' + $('[name="cb-name"]').bootstrapSwitch('animate'));
console.log('disabled->' + $('[name="cb-name"]').bootstrapSwitch('disabled'));
console.log('readonly->' + $('[name="cb-name"]').bootstrapSwitch('readonly'));
console.log('indeterminate->' + $('[name="cb-name"]').bootstrapSwitch('indeterminate'));
console.log('inverse->' + $('[name="cb-name"]').bootstrapSwitch('inverse'));
});
//$('[name="cb-name"]').bootstrapSwitch('destroy');
});
</script>
</head>
<body>
<div class="jumbotron">
<div class="container">
<input type="checkbox" name="cb-name"><button id="toggle">toggle</button>
</div>
</div>
</body>
</html>
state方法的第三个参数skip与toggleState方法的第二个参数skip,默认为false,设置为true时,state属性的值改变不会触发switchChange事件
wrapperClass方法第二个参数的表达式的布尔值为false时,wrappClass重置为默认值wrapper
相关推荐
开关控件还提供了丰富的事件和方法,用于监听用户操作或动态改变开关状态。例如,我们可以监听"switch-change"事件: ```javascript $('#mySwitch').on('switch-change', function(event, data) { console.log...
7. **无障碍性**:确保你的开关控件对辅助技术友好,比如添加`aria-labelledby`或`aria-describedby`属性,以帮助屏幕阅读器用户理解开关的意义。 8. **自定义样式**:如果你希望进一步定制开关的视觉效果,可以...
$('input[type=checkbox]').bootstrapSwitch(); ``` 还可以通过数据属性或 JavaScript API 来定制开关的行为,例如设置开关的状态、颜色、大小等。 在实际开发中,为了提高用户体验和页面性能,我们通常会采用延迟...
BootstrapSwitch是一款基于Bootstrap框架的插件,它能够将HTML中的复选框(checkbox)和单选按钮(radio button)转化为视觉效果更佳、交互性更强的切换开关(toggle switch)。这个转换过程使得用户界面更加直观,...
然后,在 HTML 中添加一个 checkbox 输入框,并使用 jQuery 选择器选中该输入框,最后使用 bootstrapSwitch 方法来初始化开关控件。 常用属性 Bootstrap Switch 开关组件提供了多个可配置的属性,以满足不同的需求...
总的来说,Bootstrap Switch 是一个强大的工具,它能够帮助开发者快速地在 Bootstrap 项目中添加功能丰富的开关控件,提升用户体验。通过灵活的配置和事件处理,你可以根据项目需求定制出满足各种场景的开关组件。
Bootstrap Switch 是一个基于 Bootstrap 框架的组件,它扩展了原生的 HTML 开关(checkbox)元素,将其转换为一种交互式、可定制的开关控件。在 Web 应用开发中,这样的控件非常实用,因为它可以直观地表示二元选择...
BootstrapSwitch是一种基于Bootstrap框架的美观、实用的切换开关控件,它为网页界面提供了一种交互性强、用户体验良好的选择和切换功能。这个组件通常用于替代传统的复选框或单选按钮,使得用户能够以更直观的方式...
$('.radio2').bootstrapSwitch('toggleRadioStateAllowUncheck', true); }); ``` 启动开关控件的功能,可以遍历页面中的所有`div`元素,并通过jQuery获取并设置相应的自定义属性值,例如颜色、文字等。这可以...
网上的bootstrap-switch使用不便,因此整理了我在项目上所使用的开关控件,结合bootstrap框架使用
$('#mySwitch').bootstrapSwitch(); }); ``` 这只是一个基本的用法示例,实际上Bootstrap Switch提供了许多可配置选项,如颜色、大小、是否允许三态等,以及事件处理,允许开发者根据需求进行深入定制。 总的来说...
bootstrap-switch开关控件,里面包含了bootstrap-switch的css和bootstrap-switch.js两个主要的文件,使用时只需要引入这两个文件,然后初始化$('[name="status"]').bootstrapSwitch({ size:"mini", onSwitchChange:...
在本文中,我们将深入探讨基于AngularJS的前端项目——"angular-bootstrap-switch",这是一个利用jQuery插件实现的引导开关指令。这个项目旨在为AngularJS应用提供一个易于使用的、可定制的开关组件,使得用户界面...
│ bootstrapSwitch 开关控件 │ Hui-iconfont_v1.0 阿里图标字体库(H-ui定制) │ font-awesome 字体库文件 │ icheck 单选框、复选框控件 │ laypage laypage 翻页插件 │ layer layer弹出层插件 │ laytpl...
│ bootstrapSwitch 开关控件 │ Hui-iconfont_v1.0 阿里图标字体库(H-ui定制) │ font-awesome 字体库文件 │ icheck 单选框、复选框控件 │ laypage laypage 翻页插件 │ layer layer弹出层...
1. **布局设计**:在XML布局文件中,创建一个包含开关的元素,如`SwitchCompat`(对于Android)或`bootstrap-switch`(对于Web前端)。这些组件提供了基础的开关结构,并且可以自定义样式。 2. **事件监听**:添加...
3. **事件监听**:可以添加JavaScript事件监听器来响应开关状态的改变,如`switchChange.bootstrapSwitch`事件。 4. **API控制**:提供了一系列的JavaScript方法来操作开关,比如`toggleState()`用于切换状态,`...