您好,登錄后才能下訂單哦!
jquery ui 的另一個(gè)強(qiáng)大的功能就是拖動(dòng)排序,也就是通過(guò)鼠標(biāo)的拖到,實(shí)現(xiàn)對(duì)一些元素的排序。
廢話少說(shuō),用實(shí)例說(shuō)話。
下面是對(duì)一組li元素進(jìn)行排序的實(shí)例
(1)jquery.js
(2)jquery.ui
(3)jquery.ui的css
需要一個(gè)< div >或者< ul >等元素, 它的直接子節(jié)點(diǎn)將可以被拖拽排序
最簡(jiǎn)單的初始化函數(shù):
(它支持很多參數(shù),詳見(jiàn)4)
(為了更好的解釋一些參數(shù),有一個(gè)復(fù)雜的示例,詳見(jiàn)6)
參數(shù) | 默認(rèn)值 | 作用 |
axis | false | 如果有設(shè)置,則元素僅能橫向或縱向拖動(dòng)??蛇x值:’x', ‘y’ |
cancel | input,textarea, button,select,option | 阻止排序動(dòng)作在匹配的元素上發(fā)生 |
connectWith | false | 允許sortable對(duì)象連接另一個(gè)sortable對(duì)象,可將item元素拖拽到另一個(gè)中.(類(lèi)型:Selector) |
containment | false | 約束排序動(dòng)作只能在一個(gè)指定的范圍內(nèi)發(fā)生??蛇x值:DOM對(duì)象, ‘parent’, ‘document’, ‘window’, 或jQuery對(duì)象 |
cursor | auto | 定義在開(kāi)始排序動(dòng)作時(shí),鼠標(biāo)的樣式。 如 cursor: “move” |
cursorAt | false | 當(dāng)開(kāi)始移動(dòng)時(shí),元素的偏移的位置(最多兩個(gè)方向)??蛇x值:{ top, left, right, bottom }。 如 cursorAt: {left:5,bottom:5} |
delay | 0 | 以毫秒為單位,設(shè)置延遲多久才激活排序動(dòng)作。此參數(shù)可防止誤點(diǎn)擊。 如 delay: 500 |
distance | 1 | 決定至少要在元素上面拖動(dòng)多少像素后,才正式觸發(fā)排序動(dòng)作。 如 distance: 30 |
dropOnEmpty | false | 是否允許拖拽到一個(gè)空的sortable對(duì)象中。 |
grid | false | 每次移動(dòng)都按一個(gè)格子大小移動(dòng),數(shù)組值:[x,y] 如 grid: [50, 20] |
handle | false | 限制排序的動(dòng)作只能在item元素中的某種元素 如 handle: ‘h3′ |
helper | original | 設(shè)置是否在拖拽元素時(shí),顯示一個(gè)輔助的元素??蛇x值:‘original’, ‘clone’。 如 helper: ‘clone’ |
items | “> *” (第一級(jí)子元素) | 指定在排序?qū)ο笾?,哪些元素是可以進(jìn)行拖拽排序的。 如 items: “> li” |
opacity | false | 輔助元素(helper)顯示的透明度 如 opacity: 0.6 |
placeholder | false | 設(shè)置當(dāng)排序動(dòng)作發(fā)生時(shí),空白占位符的CSS樣式 如 placeholder: ‘css-class-name’ (指定一個(gè)css的class) |
revert | false | 如果設(shè)置成true,則被拖拽的元素在返回新位置時(shí),會(huì)有一個(gè)動(dòng)畫(huà)效果 |
scroll | false | 如果設(shè)置成true,則元素被拖動(dòng)到頁(yè)面邊緣時(shí),會(huì)自動(dòng)滾動(dòng)。 |
scrollSensitivity | 20 | 設(shè)置當(dāng)元素移動(dòng)至邊緣多少像素時(shí),便開(kāi)始滾動(dòng)頁(yè)面 |
scrollSpeed | 20 | 設(shè)置頁(yè)面滾動(dòng)的速度 |
tolerance | intersect | 設(shè)置當(dāng)拖動(dòng)元素越過(guò)其它元素多少時(shí)便對(duì)元素進(jìn)行重新排序??蛇x值:’intersect’, ‘pointer’ intersect:至少重疊50% pointer:鼠標(biāo)指針重疊元素 |
zIndex | 1000 | 設(shè)置在排序動(dòng)作發(fā)生時(shí),元素的z-index值 |
(為了更好的解釋一些事件和方法,有一個(gè)復(fù)雜的示例,詳見(jiàn)6)
start
當(dāng)排序動(dòng)作開(kāi)始時(shí)觸發(fā)此事件。
定義:$(‘.selector’).sortable({ start: function(event, ui) { … } });
綁定:$(‘.selector’).bind(‘sortstart’, function(event, ui) { … });
sort
當(dāng)元素發(fā)生排序時(shí)觸發(fā)此事件。
定義:$(‘.selector’).sortable({ sort: function(event, ui) { … } });
綁定:$(‘.selector’).bind(‘sort’, function(event, ui) { … });
change
當(dāng)元素發(fā)生排序且坐標(biāo)已發(fā)生改變時(shí)觸發(fā)此事件。
定義:$(‘.selector’).sortable({ change: function(event, ui) { … } });
綁定:$(‘.selector’).bind(‘sortchange’, function(event, ui) { … });
beforeStop
當(dāng)排序動(dòng)作結(jié)束之前觸發(fā)此事件。此時(shí)占位符元素和輔助元素仍有效。
定義:$(‘.selector’).sortable({ beforeStop: function(event, ui) { … } });
綁定:$(‘.selector’).bind(‘sortbeforeStop’, function(event, ui) { … });
stop
當(dāng)排序動(dòng)作結(jié)束時(shí)觸發(fā)此事件。
定義:$(‘.selector’).sortable({ stop: function(event, ui) { … } });
綁定:$(‘.selector’).bind(‘sortstop’, function(event, ui) { … });
update
當(dāng)排序動(dòng)作結(jié)束時(shí)且元素坐標(biāo)已經(jīng)發(fā)生改變時(shí)觸發(fā)此事件。
定義:$(‘.selector’).sortable({ update: function(event, ui) { … } });
綁定:$(‘.selector’).bind(‘sortupdate’, function(event, ui) { … });
receive
當(dāng)一個(gè)已連接的sortable對(duì)象接收到另一個(gè)sortable對(duì)象的元素后觸發(fā)此事件。
定義:$(‘.selector’).sortable({ receive: function(event, ui) { … } });
綁定:$(‘.selector’).bind(‘sortreceive’, function(event, ui) { … });
over
當(dāng)一個(gè)元素拖拽移入另一個(gè)sortable對(duì)象后觸發(fā)此事件。
定義:$(‘.selector’).sortable({ over: function(event, ui) { … } });
綁定:$(‘.selector’).bind(‘sortover’, function(event, ui) { … });
out
當(dāng)一個(gè)元素拖拽移出sortable對(duì)象移出并進(jìn)入另一個(gè)sortable對(duì)象后觸發(fā)此事件。
定義:$(‘.selector’).sortable({ out: function(event, ui) { … } });
綁定:$(‘.selector’).bind(‘sortout’, function(event, ui) { … });
activate
當(dāng)一個(gè)有使用連接的sortable對(duì)象開(kāi)始排序動(dòng)作時(shí),所有允許的sortable觸發(fā)此事件。
定義:$(‘.selector’).sortable({ activate: function(event, ui) { … } });
綁定:$(‘.selector’).bind(‘sortactivate’, function(event, ui) { … });
deactivate
當(dāng)一個(gè)有使用連接的sortable對(duì)象結(jié)束排序動(dòng)作時(shí),所有允許的sortable觸發(fā)此事件。
定義:$(‘.selector’).sortable({ deactivate: function(event, ui) { … } });
綁定:$(‘.selector’).bind(‘sortdeactivate’, function(event, ui) { … });
destory
從元素中移除拖拽功能。
用法:.sortable( ‘destroy’ )
disable
禁用元素的拖拽功能。
用法:.sortable( ‘disable’ )
enable
啟用元素的拖拽功能。
用法:.sortable( ‘enable’ )
option
獲取或設(shè)置元素的參數(shù)。
用法:.sortable( ‘option’ , optionName , [value] )
serialize
獲取或設(shè)置序列化后的每個(gè)item元素的id屬性。
用法:.sortable( ‘serialize’ , [options] )
toArray
獲取序列化后的每個(gè)item元素的id屬性的數(shù)組。
用法:.sortable( ‘toArray’ )
refresh
手動(dòng)重新刷新當(dāng)前sortable對(duì)象的item元素的排序。
用法:.sortable( ‘refresh’ )
refreshPositions
手動(dòng)重新刷新當(dāng)前sortable對(duì)象的item元素的坐標(biāo),此方法可能會(huì)降低性能。
用法:.sortable( ‘refreshPositions’ )
cancel
取消當(dāng)前sortable對(duì)象中item元素的排序改變。
用法:.sortable( ‘cancel’ )
三、其他jquery ui 文章
1、jquery ui(一)簡(jiǎn)介
2、jquery ui(二)拖拽 draggable和droppable
3、jquery ui(三)彈出窗口 dialog
4、jquery ui(四)進(jìn)度條 progressbar
5、jquery ui(五)日期選擇器 datepicker
6、jquery ui(六)拖動(dòng)排序 sortable
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。