jQuery Mobile是一款非常流行的前端框架,其提供了很多實用的組件,拖動排序就是其中之一。
拖動排序可以幫助用戶輕松地改變頁面元素的位置,并且可以自定義拖動時的樣式和回調函數。下面是一段示例代碼:
<ul data-role="listview" data-inset="true"> <li data-icon="arrow-u">Item 1</li> <li data-icon="arrow-u">Item 2</li> <li data-icon="arrow-u">Item 3</li> <li data-icon="arrow-u">Item 4</li> <li data-icon="arrow-u">Item 5</li> </ul> <script> $(document).on("pagecreate", function() { $( "ul" ).sortable({ cancel: ".ui-disabled", items: "li:not(.ui-disabled)", sort: function() { $( this ).removeClass( "ui-first-child ui-last-child" ); $( this ).children( "li" ).each(function() { if ( $( this ).index() === 0 ) { $( this ).addClass( "ui-first-child" ); } else if ( $( this ).index() === $( this ).parent().children().length - 1 ) { $( this ).addClass( "ui-last-child" ); } }); } }).disableSelection(); }); </script>
在這段代碼中,使用了jQuery的.sortable()方法來實現拖動排序。使用.cancel來設置不能夠拖動排序的元素,.items來指定哪些元素可以被排序。.sort用來設置拖拽過程中的回調函數。
同時,這段代碼也使用了jQuery Mobile提供的CSS類來改變被排序的元素的樣式,如.ui-disabled、.ui-first-child和.ui-last-child等。需要注意的是,在使用這些類時,需要先添加.data("mobile-wrapper"),使其在拖動時不會出現樣式問題。
總之,jQuery Mobile拖動排序是非常實用的功能,可以方便地改變元素位置,讓頁面交互更加友好。通過上面的示例代碼,你也可以輕松地實現拖動排序。
下一篇用css跳轉地址