1. 程式人生 > >Bootstrap的iCheck外掛checkbox和radio

Bootstrap的iCheck外掛checkbox和radio

iCheck

特色:

1、在不同瀏覽器(包括ie6+)和裝置上都有相同的表現 — 包括 桌面和移動裝置

2、支援觸控裝置 — iOS、Android、BlackBerry、Windows Phone等系統

4、方便定製 — 用HTML 和 CSS 即可為其設定樣式 (多套面板)

5、體積小巧 — gzip壓縮後只有1 kb

6、25 種引數 用來定製複選框(checkbox)和單選按鈕(radio button)

7、8 個回撥事件 用來監聽輸入框的狀態

8、7個方法 用來通過程式設計方式控制輸入框的狀態

9、能夠將輸入框的狀態變化同步回原始輸入框中, 支援所有選擇器

iCheck外掛表單美化效果圖


iCheck外掛表單美化效果圖

使用方法:

  1. $('input').iCheck('check');   //將輸入框的狀態設定為checked 
  2. $('input').iCheck('uncheck'); //移除 checked 狀態 
  3. $('input').iCheck('toggle');  //toggle checked state 
  4. $('input').iCheck('disable'); //將輸入框的狀態設定為 disabled 
  5. $('input').iCheck('enable');  //移除 disabled 狀態 
  6. $('input').iCheck('update');  //apply input changes, which were done outside the plugin 
  7. $('input').iCheck('destroy'); //移除iCheck樣式 

呼叫iCheck時,只需要將修改了預設值的引數列出來即可:

  1. //基礎使用方法 
  2. $('input').iCheck({ 
  3.   labelHover : false, 
  4.   cursor : true, 
  5.   checkboxClass : 'icheckbox_square-blue', 
  6.   radioClass : 'iradio_square-blue', 
  7.   increaseArea : '20%' 
  8. }); 

下面是引數列表及其預設值:

  1.  handle: '', 
  2.  checkboxClass: 'icheckbox', 
  3.  radioClass: 'iradio', 
  4.  checkedClass: 'checked', 
  5.  checkedCheckboxClass: '', 
  6.  checkedRadioClass: '', 
  7.  uncheckedClass: '', 
  8.  uncheckedCheckboxClass: '', 
  9.  uncheckedRadioClass: '', 
  10.  disabledClass: 'disabled', 
  11.  disabledCheckboxClass: '', 
  12.  disabledRadioClass: '', 
  13.  enabledClass: '', 
  14.  enabledCheckboxClass: '', 
  15.  enabledRadioClass: '', 
  16.  hoverClass: 'hover', 
  17.  focusClass: 'focus', 
  18.  activeClass: 'active', 
  19.  labelHover: true, 
  20.  labelHoverClass: 'hover', 
  21.  increaseArea: '', 
  22.  cursor: false, 
  23.  inheritClass: false, 
  24.  inheritID: false, 
  25.  insert: '' 

我們可以對上面列出的任何class重置樣式

面板

Black — minimal.css  //黑色

Red — red.css  //紅色

Green — green.css  //綠色

Blue — blue.css  //藍色

Aero — aero.css //win7中的那種玻璃效果

Grey — grey.css  //銀灰色

Orange — orange.css  //橙色

Yellow — yellow.css  //黃色

Pink — pink.css  //粉紅色

Purple — purple.css  //紫色

(請自行下載這些面板包)

初始化

首先,引入jQuery庫檔案

其次,引入jquery.icheck.js外掛檔案

(如果要引入相關面板,則需引入:相關主題顏色.css檔案)

回撥事件

iCheck支援所有選擇器(selectors),並且只針對複選框checkbox和單選radio按鈕起作用

iCheck提供了大量回調事件,都可以用來監聽change事件

 事件名稱  使用時機
 ifClicked  使用者點選了自定義的輸入框或與其相關聯的label
 ifChanged  輸入框的 checked 或 disabled 狀態改變了
 ifChecked  輸入框的狀態變為 checked
 ifUnchecked  checked 狀態被移除
 ifDisabled  輸入框狀態變為 disabled
 ifEnabled  disabled 狀態被移除
 ifCreated  輸入框被應用了iCheck樣式
 ifDestroyed  iCheck樣式被移除

 使用on()方法繫結事件:

  1. $('input').on('ifChecked', function(event){ //ifCreated 事件應該在外掛初始化之前繫結 
  2.   alert(event.type + ' callback'); 
  3. }); 

bootstrap iCheck中的radio和checkbox的大小可以調整嗎?

  1. .icheckbox_square-blue, .iradio_square-blue { 
  2.   display: block; 
  3.   margin: 0; 
  4.   padding: 0; 
  5.   width: 22px; 
  6.   height: 22px; 
  7.   background: url(blue.png) no-repeat; 
  8.   border: none; 
  9.   cursor: pointer; 

如果要調整icheck的radio或checkbox樣式,通過上面的css修改width和height,同時修改blue.png圖片對應的尺寸。