JQuery-UI-API

AJAX應用

Ajax函數

$("XXX").load(url [, data][, callback]);

// 用於加載HTML代碼,並將其插入到XXX DOM文檔中

// data爲參數,爲字符串或映射(鍵值對)例如:key1=value1&key2=value2

// 若參數data爲字符串或無,則發送的請求類型爲get,否則爲post

// callback爲回調函數,callback可以接受三個參數,例如:

// function (responseText, textStatus, XMLHttpRequest){ 

// responseText爲響應文本

// textStatus爲響應狀態文本

}

$.getJSON(url [, data][, callback(data, textStatus)]);

// 用於加載JSON數據

// callback爲回調函數:

// function (data, textStatus){

// data爲服務器返回的數據

// textStatus爲響應狀態文本

}

$.getScript(url [, callback(data, textStatus)]);

// 用於動態加載JavaScript腳本文件

// function (data, textStatus){

// data爲服務器響應的數據,即JavaScript文件包含的源代碼

}

$.get(url [, data][, callback][, dataType]);

// 用於加載更多類型的數據

// dataType爲字符串,用於指定服務器返回的數據類型

// 可選值有:“xml”、“html”、“script”、“json”、“jsonp”、“text”

// callback爲回調函數:

// function (data, textStatus, XMLHttpRequest){

// data爲服務器返回的數據

}

$.post(url [, data][, callback][, dataType]);

// 參數用法同$.get();

// 使用post請求永遠都不會緩存

$.ajax(settings);

// 使用ajax請求訪問服務器

// settings爲json類型的對象,用於設置參數的屬性,例如:{url:"test.html"}

// settings的選項:

// async:指定是否以異步請求方式發送;默認爲true

// cache:指定是否進行緩存;

默認爲true,當dataType爲script或jsonp時,則默認爲false;

// contentType:發送的數據類型;

默認爲application/x-www-form-urlencoded

若傳入的爲內容類型,則它將始終被髮送到服務器。

// data:發送到服務器的參數;

必須爲鍵值對或序列化的字符串。

// dataType:請求的數據類型的字符串表示形式;

可選值有:xml、html、script、json、jsonp、text

// username:指定用於響應HTTP訪問認證的用戶名

// password:指定用於響應HTTP訪問認證的密碼

// timeout:指定請求超時時間

// type:指定請求的類型;可以爲post、get等

// url:指定請求的服務器地址

// beforeSend(XMLHttpRequest):用於設置請求之前的回調函數,

並傳入XMLHttpRequest作參數

// error(XMLHttpRequest, textStatus, errorThrown)

用於設置請求失敗的回調函數,並傳入XMLHttpRequest、

一個表示錯誤類型的字符串和異常對話作爲參數

// success(data, textStatus, XMLHttpRequest)

用於設置請求成功時的回調函數,並傳入返回的數據、一個包含成功

代碼的字符串和XMLHttpRequest作爲參數

// complete(XMLHttpRequest, textStatus)

用於設置請求完成時的回調函數(無論成功還是失敗)

傳入XMLHttpRequest對象和一個包含成功或失敗代碼的字符串

數據處理

$("XXX").serialize();

// 將DOM元素的數據,序列化成標準的URL編碼方式的字符串數據

// 一般選擇的元素爲<form>標籤

$("XXX").serializeArray();

// 將DOM元素的數據,序列化成JSON類型的數組

$.param(object [, traditional]);

// 將指定數據序列化成標準的URL編碼方式的字符串數據

// object爲要進行序列化的對象或數組

// traditional爲Boolean類型,表示是否執行傳統的“淺”序列化

jQuery UI

界面主題庫

若需要更多的主題包,可以下載主題包jquery-ui-themes-1.8.1.zip,

解壓後其中的每一個文件夾代表一個主題。

Draggable拖動組件

需要導入以下ui文件:

jquery.ui.core.js

jquery.ui.widget.js

jquery.ui.mouse.js

jquery.ui.draggable.js

屬性

屬性名

數據類型

默認值

說明

addClasses

Boolean

true

指示是否對可拖動元素添加

ui-draggable類

appendTo

Element

Selector

"parent"

爲元素指定一個容器元素

axis

String

false

限制元素的拖動軌跡,可接受

"x"和"y"或false

cancel

Selector

":input"

指定非拖動手柄元素

connectToSortable

Selector

false

允許將元素拖至一個可排序列表上,

屬性值爲可排序列表的選擇符

containment

Selector

Element

String

Array

false

指定拖動元素的元素拖動區域,

屬性值可能爲:"parent",

"document","window"

[x1,y1,x2,y2]等

cursor

String

"auto"

鼠標位於元素之上的cursor樣式

cursorAt

Object

false

指定拖動對象時,光標出現的位置。

可以指定top、left、right、

Bottom的一個或兩個

delay

Integer

0

指定開始拖動時延遲的毫秒數

distance

Integer

1

指定開始拖動的延遲距離像素

grid

Array

false

使元素對齊頁面上的虛擬網格。

handle

Element

Selector

false

指定拖動元素的拖動手柄

helper

String

Function

"original"

指定拖動元素時顯示的輔助元素。

其值可以爲"original"、"clone"

或函數,函數必須返回一個DOM元素

iframeFix

Boolean

Selector

false

是否阻止iframe元素在拖動中捕獲

Mousemove事件,若爲選擇符,

則只阻止匹配元素的事件。

opacity

Float

false

指定輔助元素的不透明度

revert

Boolean

String

false

若爲true則拖動停止時,將返回

起始位置。若爲"invalid",則

僅當未拖到目標位置才返回。

"valid"則與"invalid"相反

revertDuration

Integer

500

指定返回起始位置的毫秒數

scope

String

"default"

指定拖放元素的目標集,

與droppable中的同名屬性使用

scroll

Boolean

true

拖動容器元素時,是否自動滾動

scrollSensitivity

Integer

20

指定元素在距離容器邊緣多少像素

時開始滾動。

scrollSpeed

Integer

20

指定容器元素滾動的速度

snap

Boolean

Selector

false

指定拖動元素靠近選擇元素的邊緣

會自動對齊

snapMode

String

"both"

指定元素對齊目標元素的那條邊,

可選值:"inner"、"outer"和

"both"

snapTolerance

Integer

20

指定元素距離目標元素多少像素

時,開始自動對齊

zIndex

Integer

false

設置輔助元素的zIndex

方法

$(selector).draggable("disable");  // 禁止其拖動功能

$(selector).draggable("enable"); // 激活其拖動功能

$(selector).draggable("destory"); // 完全刪除拖動功能

$(selector).draggable("option", name[, value]);// 獲取/設置屬性值

事件

1、 start事件:類型:dragstart,當開始拖動時觸發

2、 drag事件:類型:drag,當拖動過程中移動鼠標時觸發

3、 stop事件:類型:dragstop,當停止拖動時觸發

事件綁定:

$(select).draggable(

eventName:function(event, ui){

1、 event:表示事件對象

2、 ui:表示拖動元素對象,具有如下屬性:

a) helper:jQuery對象,表示輔助元素

b) position:包含top屬性和left屬性的對象,

表示輔助元素相對於起始位置點的位置

c) offset:包含top屬性和left屬性的對象,

表示輔助元素相對於頁面的絕對位置

}

);

Droppable投放組件

jquery.ui.core.js

jquery.ui.widget.js

jquery.ui.mouse.js

jquery.ui.draggable.js

jquery.ui.droppable.js

屬性

屬性

數據類型

默認值

說明

accept

Selector

Function

"*"

設置投放對象可接受的元素,若提供函數,

則把拖動元素作爲第一個參數傳給函數,

則使該函數返回true的元素皆可

activeClass

String

false

設置可接受的拖動元素處於拖動狀態時,

可投放對象的CSS樣式

addClass

Boolean

true

是否允許投放對象添加ui-droppable類

greedy

Boolean

false

是否在嵌套的投放對象中阻止事件傳播

hoverClass

String

false

設置拖動對象移動到投放對象上的CSS樣式

scope

String

"default"

定義拖動對象和投放對象的目標集

tolerance

String

"intersect"

設置可接受的拖放元素完成投放的觸發模式,

包括"fit","intersect","pointer"

,"touch"等

方法

$(selector).droppable("disable"); // 禁止投放功能

$(selector).droppable("enable"); // 激活投放功能

$(selector).droppable("destroy"); // 完全刪除投放功能

$(selector).droppable("option", name[, value]);// 獲取/設置屬性值

事件

1、 activate事件:類型:dropactivate,當可接受對象開始拖動時觸發

2、 deactivate事件:類型:dropdeactivate,當可接受對象停止拖動時觸發

3、 over事件:類型:dropover,當可接受對象位於目標對象上方時觸發

4、 out事件:類型:dropout,當可接受對象移出目標對象時觸發

5、 drop事件:類型:drop,當可接受對象投放到目標對象時觸發

事件綁定:

$(selector).droppable(

eventName:function(event, ui){

1、 event事件對象

2、 ui包含附加信息的ui對象,具有以下屬性:

a) draggable表示當前可拖動元素

b) helper表示當前可拖動元素的輔助元素

c) position:一個包含top屬性和left屬性的對象,

表示輔助元素相對於起始點的位置

d) offset一個包含top屬性和left屬性的對象,

表示輔助元素相對於頁面的絕對位置

}

);

Resizable縮放組件

需要添加樣式表:ui.all.css

jquery.ui.core.js

jquery.ui.widget.js

jquery.ui.mouse.js

jquery.ui.resizable.js

屬性

屬性

數據類型

默認值

說明

alsoResize

Selector

jQuery

Element

false

當調整大小時,同步調整一組所選的

元素的大小

animate

Boolean

false

是否爲縮放過程添加動畫效果

animateDuration

Integer

String

"slow"

指定動畫持續的時間,可以爲

"slow"、"normal"、"fast"

或者具體的毫秒數

animateEasing

String

"swing"

指定動畫的效果

aspectRatio

Boolean

Float

false

是否調整大小時,保持原長寬比。

也可以指定一個長寬比,如0.5

autoHide

Boolean

false

是否隱藏縮放手柄,直到鼠標位於

該手柄之上時。

cancel

Selector

":input"

阻止匹配的元素的尺寸發生變化

containment

String

Element

Selector

false

限制在指定元素的邊界範圍內,

調整大小尺寸,可選值:"parent"

、"document"、DOM元素或選擇符

delay

Integer

0

指定縮放的延遲毫秒數

distance

Integer

1

指定縮放的延遲像素數

ghost

Boolean

false

是否顯示半透名的輔助元素

grid

Array

false

指定縮放時對齊的網格,

接受[x, y]分別爲網格寬度和高度

handles

String

Object

"e,s,se"

定義縮放手柄,若提供字符串,則以

逗號分隔n、e、s、w、ne、se、

sw、nw以及all,若爲對象可以

包含以上屬性的任意項

helper

String

false

設置輔助元素的CSS樣式

maxHeight

Integer

null

設置允許調整的最大高度

maxWidth

Integer

null

設置允許調整的最大寬度

minHeight

Integer

10

設置允許調整的最小高度

minWidth

Integer

10

設置允許調整的最小寬度

方法

$(selector).resizable("disable"); // 禁用縮放功能

$(selector).resizable("enable"); // 激活縮放功能

$(selector).resizable("destroy") // 完全刪除縮放功能

$(selector).resizable("option", name[, value]);// 獲取/設置屬性

事件

1、 start事件:類型:resizestart,當開始縮放操作時觸發

2、 resize事件:類型:resize,當通過縮放手柄操作時觸發

3、 stop事件:類型:resizestop,當停止縮放操作時觸發

事件綁定:

$(selector).resizable({

eventName:function(event, ui){

1、 event:事件對象

2、 ui:包含附加信息的ui對象,有以下屬性

a) helper:一個包含helper元素的對象

b) originalPosition:一個包含top屬性和left屬性的對象

表示縮放前的位置

c) position:一個包含top屬性和left屬性的對象,

表示當前位置

d) size:一個包含width屬性和height屬性的對象,表示當前大小

}

});

Selectable選擇組件

jquery.ui.core.js

jquery.ui.widget.js

jquery.ui.mouse.js

jquery.ui.selectable.js

然後利用$(selector).selectable([option])函數,將目標元素(如<ol>)

包裝成jQuery對象。

通過按<Ctrl>可以點擊選擇多項

CSS樣式

.ui-selecting類:選擇某個項目時添加該類

.ui-selected類:選定了某個項目時添加該類

.ui-selectee類:可選擇的元素添加該類

屬性

屬性

數據類型

默認值

說明

autoRefresh

Boolean

true

是否在選擇操作之前,刷新(計算)每個可選

的位置和大小,可以設置爲false,然後

手動調用refresh方法

cancel

Selector

":input"

阻止匹配的元素進行選擇操作

delay

Integer

0

設置選擇延遲的毫秒數

distance

Integer

0

設置選擇延遲的像素數

filter

Selector

"*"

設置能都選擇的匹配的子元素

tolerance

String

"touch"

指定觸發選擇操作的條件,可選值:"touch"

、"fit"分別表示完全和部分覆蓋即可

方法

可選對象,也包含disable、enable、option、destroy方法。

$(selector).selectable("refresh");

// 手動刷新,重新計算每個元素的大小和位置

事件

start事件:類型:selectablestart,當開始選擇操作時觸發

selecting事件:類型:selectableselecting,當選定元素時觸發

selected事件:類型:selectableselected,當結束選擇時觸發

unselecting事件:類型:selectableunselecting,從選中項中,移出元素時觸發

unselected事件:類型:selectableunselected,從選中項移出元素,並結束操作

stop事件:類型:selectablestop,當結束選擇操作時觸發

事件綁定:

$(selector).selectable({

eventName:function(event, ui){

1、 event:事件對象

2、 ui:包含附加信息的ui對象

}

});

Sortable排序組件

jquery.ui.core.js

jquery.ui.widget.js

jquery.ui.mouse.js

jquery.ui.sortable.js

使用$(selector).sortable([options])構造方法將目標元素(如<ul>)包裝

成jQuery對象。

屬性

屬性

數據類型

默認值

說明

appendTo

String

"parent"

指定在拖動過程中將輔助元素追加到何處

axis

String

false

指定條目的拖動方向,可選擇有"x"和"y"

cancel

Selector

":input"

指定禁止排序的元素

connectWith

Selector

false

允許排序列表連接另一個排序列表,

將條目拖動至另一個列表中去

containment

Element

String

Selector

false

指定條目拖動的範圍,可選值:"parent"、

"document"、"window"、DOM元素或者

jQuery選擇符

cursor

String

"auto"

指定排序時鼠標的CSS樣式

cursorAt

Object

false

指定拖動條目時,光標出現的位置,取值是

對象,可以包含top、left、right、

Bottom屬性中的一個或兩個

delay

Integer

0

指定拖動條目的延遲毫秒數

distance

Integer

1

指定拖動條目的延遲像素數

dropOnEmpty

Boolean

true

是否可以將條目拖放至空的列表中

forceHelperSize

Boolean

false

是否強制輔助元素具有尺寸

forcePlaceholdersize

Boolean

false

是否強制佔有符具有尺寸

grid

Array

false

使條目或輔助元素對齊網格,取值爲數組

[x, y]分別表示網格的寬度和高度

handle

Selector

Element

false

指定條目的拖動手柄

helper

String

Function

"original"

指定顯示的輔助元素,可選值:

"original"或"clone",若爲函數

則函數返回一個DOM元素

items

Selector

">*"

指定列表中可以排序的條目

opacity

Float

false

指定輔助元素的不透明度0.01~1

placeholder

String

false

指定排序時,空白佔位的CSS樣式

revert

Boolean

Integer

false

是否支持動畫效果,或指定動畫毫秒數

scroll

Boolean

true

是否元素拖動到邊緣時自動滾動

scrollSensitivity

Integer

20

指定元素拖動到距離邊緣多少像素時

開始滾動

scrollSpeed

Integer

20

指定滾動的速度

tolerance

String

"intersect"

設置拖動元素拖動多少距離時開始排序,

可選值:"intersect"和"pointer",

前者表示重疊50%,後者表示重疊。

z-Index

Integer

1000

指定輔助元素的z-Index值

方法

可排序元素有disable、enable、option、destroy方法

$(selector).sortable("serialize"[, option]); 

// 將排序條目的id序列化成可提交的表單數據

$(selector).sortable("toArray"); // 將排序的條目id序列化成字符串數組

$(selector).sortable("refresh"); // 刷新可排序條目

$(selector).sortable("refreshPositions");// 刷新排序條目的緩存位置

$(selector).sortable("cancel"); // 取消當前條目的順序改變

事件

1、 start事件:類型:sortablestart,當開始排序時觸發

2、 sort事件:類型:sortablesort,當排序期間觸發

3、 change事件:類型:sortablechange,當元素位置發生改變時觸發

4、 beforeStop事件:類型:sortbeforestop,當停止排序,但輔助元素仍可用

5、 stop事件:類型:sortstop,當排序停止時觸發

6、 update事件:類型:sortupdate,當停止排序,且元素位置發生變化時觸發

7、 receive事件:類型:sortreceive,當連接的列表從另個列表接受條目時觸發

8、 remove事件:類型:sortremove,當從列表中拖出條目,並放置到另個列表時觸發

9、 over事件:類型:sortover,當條目被移除列表時觸發

事件綁定:

$(selector).sortable({

eventName:function(event, ui){

1、 event:事件對象

2、 ui包含附件信息的ui對象,ui包含以下屬性

a) helper:表示當前排序元素的jQuery對象

b) position表示相對與原始位置,包含top屬性和left屬性

c) offset:表示相對於頁面的絕對位置,包含top屬性和left屬性

d) item表示當前拖動元素的jQuery對象

e) placeholder:表示佔位符

f) sender:當前條目所屬的排序對象

}

});

Button按鈕組件

樣式表文件jquery-ui.css

jquery.ui.core.js

jquery.ui.widget.js

jquery.ui.button.js

單選框和複選框按鈕:

1、 爲控件添加ID

2、 爲控件添加<label>標籤

3、 將一組單選按鈕或複選框放置到某個容器中(如<div>或<span>)

4、 將容器用$(selector).buttonset()方法轉換成jQuery對象

CSS樣式

.ui-button按鈕的樣式

.ui-button-text:按鈕上文本的樣式

屬性

屬性

數據類型

默認值

說明

text

Boolean

true

是否顯示文本,若爲false,必須啓用圖標

icons

Option

{primary:null

secondary:null}

指定顯示的圖標,屬性值爲字符串類名,

分別爲左邊的圖標和右邊的圖標

label

String

按鈕的value屬性

按鈕上顯示的文本

方法

$(selector).button([options]); // 普通按鈕的構造方法

$(selector).buttonset();// 單選按鈕或複選按鈕的構造方法

也包含disableenableoptiondestroy方法

Dialog對話框組件

CSS樣式表:jquery-ui.css

jquery.bgiframe-2.1.1.js

jquery.ui.core.js

jquery.ui.widget.js

jquery.ui.mouse.js

jquery.ui.draggable.js(可選)

jquery.ui.position.js

jquery.ui.resizable.js(可選)

jquery.ui.dialog.js

CSS樣式

ui-dialog:對話框樣式

ui-dialog-titlebar:對話框標題欄樣式

ui-dialog-title:對話框標題字體樣式

ui-dialog-titlebar-close:對話框標題欄關閉樣式

切換對話框樣式不同的方式:通過設置<link>標籤的href的屬性來使得樣式的改變

屬性

屬性

數據類型

默認值

說明

autoOpen

Boolean

true

是否調用dialog()方法時自動打開,

若爲false,則保持隱藏,直到調用

dialog("open")方法

bgiframe

Boolean

false

若設置爲true,則使用bgiframe插件,

以解決IE6中的bug,1.8.1版本

buttons

Object

{}

指定在對話框中顯示的按鈕,key值爲

按鈕的文本,value值則爲對應的回調函數。

回調函數中的上下文指代,當前對話框

closeOnEscape

Boolean

true

是否在獲得焦點並且用戶按<ESC>關閉

closeText

String

"close"

指定關閉按鈕的文本

dialogClass

String

""

指定添加到對話框的類名

draggable

Boolean

true

是否可拖動對話框

height

Number

"auto"

指定對話框的高度,"auto"爲適應內容

hide

String

null

指定關閉對話框的動畫效果

maxHeight

Number

false

指定對話框的最大高度

maxWidth

Number

false

指定對話框的最大寬度

minHeight

Number

150

指定對話框的最小高度

minWidth

Number

150

指定對話框的最小寬度

modal

Boolean

false

是否爲模式窗口

position

String

Array

"center"

指定對話款的初始位置,可選值:"center"、

"left"、"right"、"top"、"bottom",

也可以是包含[top, left]的數組

resizable

Boolean

true

是否可調整對話框大小

show

String

null

指定打開對話框的動畫效果

stack

Boolean

true

是否將對話框疊放到其他對話框頂部

title

String

""

指定對話框的標題,也可以通過元素的

title屬性來指定

width

Number

300

對話框的寬度

zIndex

Integer

1000

設置對話框起始的z-Index屬性

方法

$(selector).dialog()函數也有destroy、disable、enable、option方法。

$(selector).dialog("close"); // 關閉對話框

$(selector).dialog("isOpen"); // 判斷對話框是否打開,返回Boolean

$(selector).dialog("moveToTop"); // 將對話框置頂

$(selector).dialog("open");  // 打開對話框

事件

1、 focus事件:類型:dialogfocus,當對話框獲得焦點時觸發

2、 open事件:類型:dialogopen,當對話框打開時觸發

3、 dragStart事件:類型:dialogdragstop,當開始拖動對話框時觸發

4、 drag事件:類型:dialogdrag,當拖動對話框時觸發

5、 dragStop事件:類型:dialogdragstop,當停止拖動對話框時觸發

6、 resizeStart事件:類型:dialogresizestart,當開始調整大小時觸發

7、 resize事件:類型:dialogresize,當調整大小時觸發

8、 resizeStop事件:類型:dialogresizestop,當結束調整大小時觸發

9、 beforeclose事件:類型:dialogbeforeclose,

當試圖關閉時觸發,如果要阻止關閉,則在函數中返回false

10、 close事件:類型:dialogclose,當關閉對話框時觸發

事件綁定:

$(selector).dialog({

eventName:function(e, ui){

1、 e:事件對象

2、 ui:封裝對象

3、 this:表示對話框元素

}

});

Accordion摺疊面板組件

樣式表文件:jquery-ui.css

jquery.ui.core.js

jquery.ui.widget.js

jquery.ui.accordion.js

創建容器元素(如<div>),用來初始化,添加每個面板的標題(如<h3>),

和麪板的內容(如<div>);

例如:

<div id="accordion">

<h3><a href="#">第一個面板的標題</a></h3>

<div>第一個面板的內容</div>

<h3><a href="#">第二個面板的標題</a></h3>

<div>第二個面板的內容</div>

</div>

CSS樣式

ui-accordion:摺疊面板樣式

ui-accordion-header:摺疊面板標題樣式

ui-accordion-content:摺疊面板內容樣式

屬性

屬性

數據類型

默認值

說明

active

Selector

Element

jQuery

Boolean

Number

0

用於激活的面板內容面板,若設置爲false

則在開始時,不顯示任何面板

animated

Boolean

String

"slide"

選擇要應用的動畫效果,false則禁用

autoHeight

Boolean

String

true

是否將內容部分最高的高度應用到其他部分

clearStyle

Boolean

false

是否在動畫完成後,清除height和

Overflow屬性,不能與autoHeight

一起使用

collapsible

Boolean

false

是否所有部分允許click時來關閉。

event

String

"click"

指定觸發打開面板的事件

fillSpace

Boolean

false

是否完全填充父元素的高度,將會重寫

autoHeight

header

Selector

jQuery

見說明

標題元素的選擇器,默認爲li

icons

Object

見說明

標題所使用的圖標,可以通過"header"、

"headerSelected"來指定,默認爲

{"header":"ui-icon-triangle-1-e",

"headerSelected":"ui-icon-triangle

-1-s"}

navigation

Boolean

false

是否使用navigationFilter屬性來實現

自定義匹配

navigationFilter

Function

重寫默認的location.href,實現自定義

匹配

方法

摺疊面板部件也有destroy、disable、enable和option方法

$(selector).accordion("activate", index|selector);

// 用於激活指定的面板,index是從0開始的數字,也可以設置爲選擇器表達式,

若設置爲false,則關閉所有面板,需要將collapsible設置爲true

事件

1、 changestart事件:類型:accordionchangestart,當開始變化時觸發

2、 change事件:類型:accordionchange,當變化時觸發

事件綁定:

$(selector).accordion({

eventName:function(event, ui){

1、 event事件對象

2、 ui:包含附件信息的封裝對象,具有以下屬性

a) newHeader表示當前激活的標題的jQuery對象

b) oldHeader表示上一個標題的jQeruy對象

c) newContent表示當前激活的內容的jQuery對象

d) oldContent表示上一個內容的jQuery對象

}

});

排序功能

設置步驟:

1、 將每個面板的標題和內容,分別放在各自的容器中。

例如:

<div id="accordion">

<div>

<h3><a href="#">第一個面板的標題</a></h3>

<div>第一個面板的內容</div>

</div>

<div>

<h3><a href="#">第二個面板的標題</a></h3>

<div>第二個面板的內容</div>

</div>

</div>

2、 將整個摺疊面板,通過accordion()方法構造面板元素

3、 對構造好的面板元素,通過sortable()方法構造可排序元素(見Sortablez組件)

4、 對標題綁定click事件,並在停止操作之後立即阻止事件傳播

Tabs選項卡組件

CSS樣式表文件:jquery-ui.css

jquery.ui.core.js

jquery.ui.widget.js

jquery.ui.tabs.js

創建選項卡容器(如<div>),在容器中創建每個面板的標題(如一個<ul>、

一組<li>和<a>),再爲每個選項卡添加內容(如一組<div>),

標題的<a>通過herf連接到<div>的id屬性,例如:href="#tabs-1"

如果選項卡的內容爲遠程文件,則應將href屬性設置爲URL,此時自動生成內容面板。

CSS樣式

ui-tabs:選項卡容器樣式

ui-tabs-nav:選項卡標題欄樣式

ui-tabs-panel:選項卡內容面板樣式

屬性

屬性

數據類型

默認值

說明

ajaxOptions

Options

null

設置遠程選項卡的ajax選項內容

cache

Boolean

false

設置是否對遠程選項卡內容進行緩存

collapsible

Boolean

false

是否允許將選定的選項卡內容摺疊起來

cookie

Object

null

將最後選中的選項卡內容保存到cookie

中,需要使用cookie插件。

disabled

Array<Number>

[]

包含選項卡位置的數組(從0開始)

用於設置初始化時禁用哪些選項卡

event

String

"click"

指定選擇選項卡時,需要出發什麼事件

fx

Options

Array<Options>

null

指定切換選項卡時的動畫效果

idPrefix

String

"ui-tabs-"

指定遠程選項卡的id屬性的前綴,

後綴爲,選項卡的index

錨元素無title屬性時使用

若錨元素有title屬性則使用此屬性

作爲選項卡的id屬性

panelTemplate

String

"<div>

</div>"

指定使用add方法創建並添加選項卡

或動態創建遠程選項卡的面板,所使用

的HTML模板

selected

Number

0

指定初始化時,所選中的選項卡,若爲

-1則都不選中

spinner

String

見說明

指定加載遠程內容時,選項卡標題上的

HTML的內容,若爲空,則停用該行爲。

必須在標題的<a></a>標記之間,添加

<span>元素,以便內容可以看到

TabTemplate

String

見說明

指定創建並添加新的選項卡時,使用的

HTML模板,默認值爲"<li><a href=

'#{href}'><span>#{label}

</span></a></li>"。#{href}和

#{label}是佔位符,他們將被

Add方法的url和選項卡標題所取代

方法

選項卡也有destroy、disable、enable、option方法

$(selector).tabs("add", url, label[, index]);

// url爲新選項卡的內容面板,label選項卡的標題,

index爲插入位置的索引,默認末尾

$(selector).tabs("remove", index); // 移出選項卡,index從0開始

$(selector).tabs("enable", index); // 激活選項卡

$(selector).tabs("disable", index); // 禁用選項卡

$(selector).tabs("select", index); // 選定一個選項卡,index可以選擇符

$(selector).tabs("load", index); 

// 用編程方式重新加載一個Ajax選項卡,即使cache=true

$(selector).tabs("url", index, url);// 改變Ajax選項卡加載的內容url

$(selector).tabs("length"); // 獲取選項卡面板的選項卡數目

$(selector).tabs("abort"); // 終止所有正在運行的ajax請求和動畫

$(selector).tabs("rotate", ms, [continuing]);

// 設置自動切換選項卡,ms爲切換的時間,若爲0或null則停止切換,continuing

設置當用戶選擇了一個選項卡後,是否繼續切換,默認爲false

事件

1、 select事件:類型:tabsselect,當單擊選項卡時觸發

2、 load事件:類型:tabsload,當加載遠程選項卡內容時觸發

3、 show事件:類型:tabsshow,當顯示一個選項卡時觸發

4、 add事件:類型:tabsadd,當添加一個選項卡時觸發

5、 remove事件:類型:tabsremove,當移出一個選項卡時觸發

6、 enable事件:類型:tabenable,當激活一個選項卡時觸發

7、 disable事件:類型:tabsdisable,當禁用一個選項卡時觸發

事件綁定:

$(selector).tabs({

eventName:function(event, ui){

1、 event事件對象

2、 ui包含額外事件信息的封裝對象,包含了以下屬性

a) tab:當前選定的選項卡的錨元素

b) panel:當前選定的選項卡的內容面板元素

c) index當前選定的選項卡的索引值,從0開始

}

});

Datepicker日期選擇器組件

CSS樣式表:jquery-ui.css

jquery.ui.core.js

jquery.ui.widget.js

jquery.ui.datepicker.js

jquery.ui.datepicker-zh-CN.js(可選,位於ui/i18n文件夾中,用於實現中文)

CSS樣式

ui-datepicker

ui-datepicker-header

ui-datepicker-prev

ui-datepicker-next

ui-datepicker-title

ui-datepicker-month

ui-datepicker-year

ui-datepicker-calendar

ui-datepicker-week-end

ui-datepicker-week-end

ui-datepicker-other-month

ui-datepicker-buttonpanel

ui-datepicker-current

ui-datepicker-close

屬性

屬性

數據類型

默認值

說明

altField

String

""

使用備用的輸出字段,即將選擇的日期

以另一種格式,輸出到另一個控件中,

值爲選擇符,即要輸出的控件

altFormat

String

""

altField輸出的格式,

詳細格式見formatDate方法

appendText

String

""

指定每個日期字段後面顯示的文本

autoSize

Boolean

false

是否自動調整控件大小,

以適應當前的日期格式的輸入

buttonImage

String

""

指定彈出按鈕圖像的URL,若設置則

buttonText將成爲alt值

buttonImageOnly

Boolean

false

是否將圖像放在控件後面,作爲觸發器

buttonText

String

"..."

指定觸發按鈕上顯示的文本,showOn

屬性應設置爲button或both

changeMonth

Boolean

false

是否使用下拉列表選擇月份

changeYear

Boolean

false

是否使用下拉列表選擇年份

closeText

String

"Done"

指定關閉鏈接顯示的文本

dateFormat

String

"mm/dd/yy"

指定顯示日期的格式

defaultDate

Date

String

Number

null

首次打開顯示的日期,可以用Date對象

指定一個實際日期,或指定距離今天

的天數(如+7)、字符串(y表示年

、m表示月、w表示周、d表示天,如

"+1m+7d")默認爲null,表示今天

duration

Number

String

"normal"

日期選擇器呈現的速度,可以爲毫秒數

firstDay

Number

0

設置每週的第一天,0表示星期日,

1表示星期一等

maxDate

Date

Number

String

null

可以選擇的最大日期。null表示無限制

格式見defaultDate

minDate

Date

Number

String

null

可以選擇的最小日期,null表示無限制

格式見defaultDate

numberOfMonths

Number

Array

1

設置一次要顯示幾個月。可以爲包含兩個

數字的數組,表示顯示的行數和列數

selectOtherMonths

Boolean

false

是否可以選擇非當前月的日期,

showOtherMonths屬性必須爲true

shortYearCutoff

String

Number

"+10"

設置截止的年份的值,若爲數字(0~99)

則直接使用其值,若是字符串,則轉化爲

數字並與當前年份相加。當超過截止

年份時,則被認爲是上個世紀

showAnim

String

"show"

設置顯示或隱藏的動畫名

showButtonPanel

Boolean

false

是否顯示按鈕面板

showCurrentAtPos

Number

0

指定在多月份顯示時,當前月份位於

何處,從左上方0算起

showMonthAfterYear

Boolean

false

是否在標題中的年份後顯示月份

showOn

String

"focus"

設置觸發選擇器的事件名稱

showOtherMonths

Boolean

false

是否顯示其他月份

stepMonths

Number

1

指定單擊上月下月鏈接時,移動幾個月

yearRange

String

c-10:c+10

設置下拉列表框中顯示的年份範圍,

可以是相對今年(-nn:+nn)或相對於

選擇的年份(c-nn:c+nn)或絕對年份

(nnnn:nnnn)

方法

實例方法:

日期選擇器也有destroy、disable、enable和option方法

$(selector).datepicker("isDisabled");  // 是否被禁用

$(selector).datepicker("hide", [speed]);// 關閉選擇器,speed爲速度

$(selector).datepicker("show"); // 調用先前的選擇器

$(selector).datepicker("getDate"); // 獲取選擇器中的當前日期

$(selector).datepicker("setDate", date); 

// 設置當前日期可以爲:02/26/2011 或 +1m+7d等

全局方法:

$.datepicker.setDefaults(Options); // 設置所有選擇器的默認屬性

$.datepicker.formatDate(format, date, setting);

// format爲字符串,日期格式

Date爲要顯示的日期值

Setting爲可選項,其值是對象,

format可以使用的組合:d天數、dd天數(2位數字)、o年中的天數、

oo年中的天數、D日期短名稱、DD日期長名稱、m月份、mm月份

M月份短名稱、MM月份長名稱、y年份(兩位數字)、yy年份(4位數字)

@自01/01/1970以來的毫秒數

$.datepicker.parseDate(format, value, setting);

// value爲字符串,包含待提取的日期值

例如:

var date = 

$.datepicker.parseDate("yy年mm月dd日", "2020年01月26日");

事件

beforeShowDay事件:當選擇器上的每一天顯示之前,將觸發此事件

事件綁定:

$(selector).datepicker({

beforeShowDay:function(date){

1、 date表示一個日期

2、 該函數必須返回一個數組

a) [0]true或false表示是否可選

b) [1]表示此日期的CSS類名,默認爲""

c) [2]表示元素是此日期的一個彈出提示(可選)

}

});

onChangeMonthYear事件:當選擇器移動到新的年份或月份時觸發

事件綁定:

$(selector).datepicker({

onChangeMonthYear:function(year, month, inst){

1、 year:表示所選的年份

2、 month表示所選的月份(1~12)

3、 inst表示日期選擇器,它指向所關聯的輸入控件

}

});

onClose事件:當選擇器關閉時觸發

事件綁定:

$(selector).datepicker({

onClose:function(dateText, inst){

1、 dateText表示所選擇的日期,爲文本字符串,如未選擇,則爲""

2、 inst表示日期選擇器實例

}

});

onSelect事件:當選擇一個日期時觸發

事件綁定:

$(selector).datepicker({

onSelect:function(dateText, inst){

// 參數同上

}

});

Autocomplete自動完成組件

CSS樣式表文件:jquery-ui.css

jquery.ui.core.js

jquery.ui.widget.js

jquery.ui.position.js

jquery.ui.autocomplete.js

Firefox中運行包含自動完成組件的網頁時,如果在文本框中輸入了中文,

則有可能不會正常彈出自動完成菜單,爲了修復這個BUG,可以對

jquery.ui.autocomplete.js修改,在第97行添加以下代碼

.bind("input.autocomplete", function(){

self.search(self.item);

})

屬性

屬性

數據類型

默認值

說明

delay

Integer

300

當用戶按鍵後,激活組件延遲的毫秒數

minLength

Integer

1

激活組件必須輸入最小的字符數

source

String

Array

Function

none

指定的數據源,必須設置此屬性

可以是一個包含字符串的數組

或包含對象的數組,每個對象應

包含label和value,若只包含

一項,則被同時當做label和value

source屬性:

若請求的資源位於同一個Web應用程序上,則應返回JSON數據,

可以用source指定一個字符串URL,例如:source: "search.asp"

還能夠將source設置成一個回調函數:

source:function(request, response){

1、 request表示請求的對象,request.item表示文本框中的值

2、 response表示響應的回調函數,並返回字符串的數組或對象的數組

a) response(function(item){

return Array|Object

1、item表示提供的item屬性進行篩選

});

}

方法

自動完成組件也有destroy、disable、enable、option方法

$(selector).autocomplete("search"[, value]);

// 當數據可用時,顯示建議數據,value爲要搜索的數據,如果不指定該參數,

則使用當前的輸入值,如果提供一個字符串,且minLength爲0,則顯示所有項

$(selector).autocomplete("close"); // 關閉已打開的菜單

事件

1、 search事件:類型:autocompletesearch,

對數據的請求前觸發,若函數返回false則取消請求,不會顯示建議條目

2、 open事件:類型:autocompleteopen,顯示之前觸發

3、 focus事件:類型:autocompletefocus,

焦點移至一個條目之前觸發,此時ui.item指向獲得焦點的條目,

此事件的默認操作是將文本框的字段,替換成獲得焦點條目的值

4、 select事件:類型:autocompleteselect,

當選擇條目時觸發,ui.item指向所選項,item表示包含label

和value屬性的對象,此事件的默認操作是將文本框的字段,替換成選中條目的值

5、 close事件:類型:autocompleteclose,隱藏菜單時觸發

6、 change事件:類型:autocompletechange,在close事件之後觸發

事件綁定:

$(selector).autocomplete({

eventName:function(event, ui){

1、 event表示事件對象

2、 ui表示包含附加信息的對象

}

});

Progressbar進度條組件

CSS樣式表文件:jquery-ui.css

jquery.ui.core.js

jquery.ui.widget.js

jquery.ui.progressbar.js

在頁面上創建相應的HTML元素(如<div>),然後用構造函數初始化。

CSS樣式

ui-progressbar:進度條容器的樣式

ui-progressbar-value:進度條的樣式

方法

進度條組件也有destroy、disable、enable、option方法

$(selector).progressbar([{value:number}]);// 構造函數

$(selector).progressbar("value"[, value]);// 獲取/設置進度條的值

事件

1、 change事件:類型:當進度條值發生變化時觸發

事件綁定:

$(selector).progressbar({

change:function(event, ui){

1、 event事件對象

2、 ui進度條對象

}

});

Slider滑塊組件

CSS樣式表文件:jquery-ui.css

jquery.ui.core.js

jquery.ui.widget.js

jquery.ui.mouse.js

jquery.ui.slider.js

在頁面創建相應的HTML元素(如<div>),再用構造方法包裝該元素

CSS樣式

ui-slider-horizontal:滑塊軌道

ui-slider-handle:滑塊手柄

ui-slider-range:滑塊範圍

屬性

屬性

數據類型

默認值

說明

animate

Boolean

String

Number

false

是否添加動畫效果,可接受"slow"、

"normal"、"fast"或毫秒數

max

Number

100

設置滑塊的最大值

min

Number

0

設置滑塊的最小值

orientation

String

"horizontal"

設置滑塊的方向,"horizontal"、

"vertical"分別表示橫向和縱向

range

Boolean

String

false

是否存在兩個拖動手柄,

step

Number

1

設置步長,必須能被範圍大小整除

value

Number

0

若只有一個手柄,則指定其值,

若有兩個手柄,則指定第一個手柄的值

values

Array

null

用於指定多個手柄,若range爲true

則values的長度應該爲2

方法

滑塊也有destroy、disable、enable、option方法

$(selector).slider("value"[, value]); // 獲取/設定單手柄滑塊的值

$(selector).slider("values", index[, value]);

// 獲取/設定多手柄滑塊的值

事件

1、 start事件:類型:slidestart,當開始滑動時觸發

2、 slide事件:類型:slide,當拖動滑塊時觸發

3、 change事件:類型:slidechange,當停止滑動或使用編程方法改變值時觸發

4、 stop事件:類型:slidestop,當停止滑動時觸發

事件綁定:

$(selector).slider({

eventName:function(event, ui){

1、 event事件對象

2、 ui封裝了屬性的對象,有以下屬性:

a) value獲取當前手柄的值(單手柄)

b) value[0]獲取當前手柄的值(多手柄)

}

});


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章