91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jquery ui(六)拖動排序 sortable

發布時間:2020-07-19 10:45:29 來源:網絡 閱讀:5606 作者:dearkerwin 欄目:web開發

jquery ui 的另一個強大的功能就是拖動排序,也就是通過鼠標的拖到,實現對一些元素的排序。
廢話少說,用實例說話。

一、簡單的實例

下面是對一組li元素進行排序的實例

1、代碼

<style>
//為了展示的效果更好,增加了一些css樣式
.sortable { list-style-type: none; margin:0; padding:0; width:60%;}
.sortable li { margin:0 3px 3px 3px; padding: 0.4em;
          padding-left: 1.5em; font-size: 1.4em; height: 18px; cursor: move ;}
.sortable li span { position: absolute; margin-left:-1.3em;}
.ui-state-highlight { height: 1.5em; line-height: 1.2em;}
</style>

<script>
 $(function(){
   $(".sortable").sortable();
});
</script>

<ul class="sortable">
<li class="ui-state-default">Item 1--ifxoxo.com</li>
<li class="ui-state-default">Item 2--ifxoxo.com</li>
<li class="ui-state-default">Item 3--ifxoxo.com</li>
</ul>

2、截圖

(1)拖拽排序之前
jquery ui(六)拖動排序 sortable

jquery-ui-sortable 拖拽之前截圖 — ifxoxo.com

(2)拖拽排序的過程
jquery ui(六)拖動排序 sortable

jquery-ui-sortable 拖拽過程截圖 — ifxoxo.com

(3)拖拽排序之后
jquery ui(六)拖動排序 sortable

jquery-ui-sortable 拖拽排序之后 — ifxoxo.com

二、具體實現

1、需要加載文件

(1)jquery.js
(2)jquery.ui
(3)jquery.ui的css

<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css"
     rel="stylesheet"/>

2、頁面上的HTML代碼

需要一個< div >或者< ul >等元素, 它的直接子節點將可以被拖拽排序

<ul id="sortable">
<li class="ui-state-default">Item 1--ifxoxo.com</li>
<li class="ui-state-default">Item 2--ifxoxo.com</li>
<li class="ui-state-default">Item 3--ifxoxo.com</li>
</ul>
//或者
<div id="sortable">
<img src="1.jpg">
<img src="2.jpg">
<img src="3.jpg">
</div>

3、js代碼

最簡單的初始化函數:

$(.selecter).sortable()

(它支持很多參數,詳見4)

4、sortable的參數

(為了更好的解釋一些參數,有一個復雜的示例,詳見6)

參數 默認值 作用
axis false 如果有設置,則元素僅能橫向或縱向拖動。可選值:’x', ‘y’
cancel input,textarea,
button,select,option
阻止排序動作在匹配的元素上發生
connectWithfalse允許sortable對象連接另一個sortable對象,可將item元素拖拽到另一個中.(類型:Selector)
containmentfalse約束排序動作只能在一個指定的范圍內發生。可選值:DOM對象, ‘parent’, ‘document’, ‘window’, 或jQuery對象
cursorauto定義在開始排序動作時,鼠標的樣式。
如 cursor: “move”
cursorAtfalse當開始移動時,元素的偏移的位置(最多兩個方向)。可選值:{ top, left, right, bottom }。
如 cursorAt: {left:5,bottom:5}
delay0以毫秒為單位,設置延遲多久才激活排序動作。此參數可防止誤點擊。
如 delay: 500
distance1決定至少要在元素上面拖動多少像素后,才正式觸發排序動作。
如 distance: 30
dropOnEmptyfalse是否允許拖拽到一個空的sortable對象中。
gridfalse每次移動都按一個格子大小移動,數組值:[x,y]
如 grid: [50, 20]
handlefalse限制排序的動作只能在item元素中的某種元素
如 handle: ‘h3′
helperoriginal設置是否在拖拽元素時,顯示一個輔助的元素。可選值:‘original’, ‘clone’。
如 helper: ‘clone’
items“> *” (第一級子元素)指定在排序對象中,哪些元素是可以進行拖拽排序的。
如 items: “> li”
opacityfalse輔助元素(helper)顯示的透明度
如 opacity: 0.6
placeholderfalse設置當排序動作發生時,空白占位符的CSS樣式
如 placeholder: ‘css-class-name’ (指定一個css的class)
revertfalse如果設置成true,則被拖拽的元素在返回新位置時,會有一個動畫效果
scrollfalse如果設置成true,則元素被拖動到頁面邊緣時,會自動滾動。
scrollSensitivity20設置當元素移動至邊緣多少像素時,便開始滾動頁面
scrollSpeed20設置頁面滾動的速度
toleranceintersect設置當拖動元素越過其它元素多少時便對元素進行重新排序。可選值:’intersect’, ‘pointer’
intersect:至少重疊50%
pointer:鼠標指針重疊元素
zIndex1000設置在排序動作發生時,元素的z-index值

5、事件和方法

(為了更好的解釋一些事件和方法,有一個復雜的示例,詳見6)

(1)事件

start
當排序動作開始時觸發此事件。
定義:$(‘.selector’).sortable({ start: function(event, ui) { … } });
綁定:$(‘.selector’).bind(‘sortstart’, function(event, ui) { … });

sort
當元素發生排序時觸發此事件。
定義:$(‘.selector’).sortable({ sort: function(event, ui) { … } });
綁定:$(‘.selector’).bind(‘sort’, function(event, ui) { … });

change
當元素發生排序且坐標已發生改變時觸發此事件。
定義:$(‘.selector’).sortable({ change: function(event, ui) { … } });
綁定:$(‘.selector’).bind(‘sortchange’, function(event, ui) { … });

beforeStop
當排序動作結束之前觸發此事件。此時占位符元素和輔助元素仍有效。
定義:$(‘.selector’).sortable({ beforeStop: function(event, ui) { … } });
綁定:$(‘.selector’).bind(‘sortbeforeStop’, function(event, ui) { … });

stop
當排序動作結束時觸發此事件。
定義:$(‘.selector’).sortable({ stop: function(event, ui) { … } });
綁定:$(‘.selector’).bind(‘sortstop’, function(event, ui) { … });

update
當排序動作結束時且元素坐標已經發生改變時觸發此事件。
定義:$(‘.selector’).sortable({ update: function(event, ui) { … } });
綁定:$(‘.selector’).bind(‘sortupdate’, function(event, ui) { … });

receive
當一個已連接的sortable對象接收到另一個sortable對象的元素后觸發此事件。
定義:$(‘.selector’).sortable({ receive: function(event, ui) { … } });
綁定:$(‘.selector’).bind(‘sortreceive’, function(event, ui) { … });

over
當一個元素拖拽移入另一個sortable對象后觸發此事件。
定義:$(‘.selector’).sortable({ over: function(event, ui) { … } });
綁定:$(‘.selector’).bind(‘sortover’, function(event, ui) { … });

out
當一個元素拖拽移出sortable對象移出并進入另一個sortable對象后觸發此事件。
定義:$(‘.selector’).sortable({ out: function(event, ui) { … } });
綁定:$(‘.selector’).bind(‘sortout’, function(event, ui) { … });

activate
當一個有使用連接的sortable對象開始排序動作時,所有允許的sortable觸發此事件。
定義:$(‘.selector’).sortable({ activate: function(event, ui) { … } });
綁定:$(‘.selector’).bind(‘sortactivate’, function(event, ui) { … });
deactivate
當一個有使用連接的sortable對象結束排序動作時,所有允許的sortable觸發此事件。
定義:$(‘.selector’).sortable({ deactivate: function(event, ui) { … } });
綁定:$(‘.selector’).bind(‘sortdeactivate’, function(event, ui) { … });

(2)方法

destory
從元素中移除拖拽功能。
用法:.sortable( ‘destroy’ )

disable
禁用元素的拖拽功能。
用法:.sortable( ‘disable’ )

enable
啟用元素的拖拽功能。
用法:.sortable( ‘enable’ )

option
獲取或設置元素的參數。
用法:.sortable( ‘option’ , optionName , [value] )

serialize
獲取或設置序列化后的每個item元素的id屬性。
用法:.sortable( ‘serialize’ , [options] )

toArray
獲取序列化后的每個item元素的id屬性的數組。
用法:.sortable( ‘toArray’ )

refresh
手動重新刷新當前sortable對象的item元素的排序。
用法:.sortable( ‘refresh’ )

refreshPositions
手動重新刷新當前sortable對象的item元素的坐標,此方法可能會降低性能。
用法:.sortable( ‘refreshPositions’ )

cancel
取消當前sortable對象中item元素的排序改變。
用法:.sortable( ‘cancel’ )

6、一個稍微復雜一點的例子:
//效果: 每次排序之后,按順序把每一項的ID輸出來
<style>
.sortable { list-style-type: none; margin:0; padding:0; width:60%;}
.sortable li { margin:0 3px 3px 3px; padding: 0.4em;
        padding-left: 1.5em; font-size: 1.4em; height: 18px; cursor: move ;}
.sortable li span { position: absolute; margin-left:-1.3em;}
.ui-state-highlight { height: 1.5em; line-height: 1.2em;}
</style>
<script>
 $(function(){
   $(".sortable").sortable({
   placeholder:"ui-state-highlight",//拖動時,用css
   cursor:"move",
   items :"li",//只是li可以拖動
   opacity:0.6,//拖動時,透明度為0.6
   revert:true,//釋放時,增加動畫
   update :function(event, ui){//更新排序之后
var text="排序為:";
       $(".sortable li").each(function(){
           text = text + $(this).attr("id")+" ";
})
       alert(text);//把排序的ID彈出
}
});
});
</script>
<ul class="sortable">
<li class="ui-state-default"  id="item-1">Item 1--from ifxoxo.com</li>
<li class="ui-state-default"  id="item-2">Item 2--from ifxoxo.com</li>
<li class="ui-state-default"  id="item-3">Item 3--from ifxoxo.com</li>
<div class="ui-state-default"> Div 4-- from <a href="ifxoxo.com">ifxoxo.com</a></div>
</ul>
截圖如下:
jquery ui(六)拖動排序 sortable

展示排序結果–ifxoxo.com

三、其他jquery ui 文章

1、jquery ui(一)簡介
2、jquery ui(二)拖拽 draggable和droppable
3、jquery ui(三)彈出窗口 dialog
4、jquery ui(四)進度條 progressbar
5、jquery ui(五)日期選擇器 datepicker
6、jquery ui(六)拖動排序 sortable


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长宁区| 铜梁县| 乐至县| 莒南县| 西乌| 子长县| 卢氏县| 无极县| 晋宁县| 临城县| 清丰县| 玉田县| 嘉荫县| 昌邑市| 河间市| 汤原县| 渝中区| 吉木萨尔县| 杭锦旗| 卢湾区| 乌兰浩特市| 五河县| 福州市| 河津市| 古交市| 清镇市| 澄迈县| 平南县| 彭泽县| 顺平县| 白玉县| 淳安县| 鄯善县| 德化县| 佛坪县| 阜城县| 遂溪县| 东乡族自治县| 澄江县| 兰西县| 棋牌|