Bootstrap JS插件使用实例(8)-按钮
2013-05-20 14:14 阅读(182)

Bootstrap的按钮插件(bootstrap-button.js)实际上是为用户提供了一种控制按钮状态的方法,通过状态的不同起到提示作用。这种状态包括按钮的显示文字和背景。针对这俩种状态Bootstrap分别提供了创建的方式及配套的一组操作方法。

下面分别给予说明。


引入文件

<link href="http://www.see-source.com/bootstrap/css/bootstrap.css" rel="stylesheet">
<script type="text/javascript" src="http://www.see-source.com/bootstrap/js/jquery.js"></script>
<script type="text/javascript" src="http://www.see-source.com/bootstrap/js/bootstrap-button.js"></script>


"显示文字"控制

该方式中有俩个核心需要把握,一个是如何设置文字,一个是如何控制文字的显示和隐藏。对于设置文字,Bootstrap提供了俩个标记:

data-loading-text 

data-complete-text 

前者一般用于等待后台处理中的状态,如:正在登陆...、正在加载...等等。后者一般用于后台处理结束时的状态,如:登陆成功、加载完毕(当然这种情况可能不存在)。

针对这俩个标记分别提供了俩个命名,用于将标记内容显示:

$().button('loading')

$().button('complete')

下面做个典型的登录例子:

Html代码

<button class="btn btn-primary" data-complete-text="登陆成功" data-loading-text="正在登陆..."  >登陆</button>

.btn样式必须有,否则Bootstrap不认为他是个按钮。只要有这个样式,哪怕是<a>、<span>、<div>等任意的dom元素皆可。

Js代码
<script type="text/javascript">
$(".btn").on("click", function(){//为按钮绑定click事件
       var self = this;
       $(self).button('loading');//正在登陆中,显示data-loading-text 标记内容
	   
	   function doFinished(){
           $(self).button('complete');//登陆成功后,显示data-complete-text标记内容
       }
	   setTimeout(doFinished,"3000");//启动一个定时器,模拟登陆过程
   }
)

</script>
Bootstrap并不自动为按钮绑定事件,只能手工绑定。


"背景"控制

背景有激活和非激活状态,用不同的背景表示。使用标记:

data-toggle="button" 

只要在按钮上加上此标记即可,点击按钮时就会在俩种背景下切换。例子:

<button class="btn btn-primary" data-toggle="button">单独开关</button>

另外,Bootstrap提供了个命令,通过此命名可用js控制背景的切换,如下:

$().button('toggle')

例子:

Html代码

<button class="btn btn-primary" data-toggle="button">单独开关</button>
<br/>
<a href="javascript:void(0)"  onClick="_switch()">切换</a>
Js代码
<script type="text/javascript">
function _switch(){    
    $(".btn").button('toggle');
}
</script>


组合按钮应用

Bootstrap还提供了类似于checkbox组radio的效果,背景的激活和非激活状态类似于checkbox、radio的选中和非选中。

实例:

Html代码

<!-- checkbox组效果 -->
<div class="btn-group" data-toggle="buttons-checkbox">
  <button class="btn btn-primary">左</button>
  <button class="btn btn-primary">中</button>
  <button class="btn btn-primary">右</button>
</div>
 
<!-- radio组效果 -->
<div class="btn-group" data-toggle="buttons-radio">
  <button class="btn btn-primary">左</button>
  <button class="btn btn-primary">中</button>
  <button class="btn btn-primary">右</button>
</div>
分别用标记data-toggle="buttons-checkbox"和data-toggle="buttons-radio"设置。此时我们也可以用$().button('toggle')命令来切换某一个按钮的状态。