Сортировка элементов списка с помощью jQuery UI

5 минут на чтение

Часто встречающаяся задача создания пользовательского интерфейса с возможностью сортировки элементов. Для наглядного представления сортируемых элементов больше всего подходят списки или таблицы. В данной статье рассмотрим как организовать сортировку элементов одного списка или нескольких списков.  

Содержание
  1. jQuery UI Sortable
  2. Задача сортировки списков
  3. Особенности и настройки
  4. Пример #1

jQuery UI Sortable

Для решения этой задачи нам понадобятся библиотеки jQuery и jQuery UI. В библиотеке jQuery есть замечательный плагин Sortable, предназначенный для сортировки элементов списка с помощью мыши.

Задача сортировки списков

Для примера рассмотрим задачу сортировки элементов между тремя списками. Необходимая первоначальная разметка:

Итак, у нас есть три списка с классом ul_sortable Со  стилями более подробно можно ознакомиться в примере.

Для того чтобы все заработало, необходимо подключить скрипт со следующим содержимым:

Ничего сложного, ко всем элементам с классом ul_sortable подключаем метод sortable. После подключения этого скрипта, все элементы списков можно будет перетаскивать и сортировать, но только в пределах родительского списка. Для возможности перемещения элементов между различными списками необходимо в настройках метода указать параметр connectWith:

Параметр connectWith позволяет задать группу элементов в пределах которых возможно перемещение элементов и сортировка. Мы указали все списки, указав из общий класс ul_sortable.

Особенности и настройки

Данный плагин имеет множество настроек, ознакомиться с которыми вы можете на официальном сайту jQuery UI.

Для примера рассмотрим настройку привязки элемента при переносе и подсветку места назначения перемещаемого элемента.

tolerance

Наш скрипт пополнилcя параметром tolerance, данный параметр влияет на привязку перемещаемых элементов. В нашем случае значение pointer указывает на то, что элемент будет перенесен на новое место, как-только указатель мыши пересечет границы нового местоположения и кнопка мыши будет отпущена. Альтернативное значение данного параметра intersect, в этом случае для перемещения элемента на новое местоположение необходима площадь пересечения  переносимого элемента и места назначения не менее 50%.

placeholder

Также в скрипте указан параметр placeholder. Он позволяет подсвечивать новое местоположение элемента при переносе, пока кнопка мыши не отжата. Для этого необходимо указать класс со стилем элемента подсветки.

Пример #1

See the Pen
KOMygW by Paul (@1110000)
on CodePen.

Facebook Vk Ok Twitter Telegram

Похожие записи:

Списки – один из самых распространенных и информативных элементов разметки. Часто возникает задача организации работы со списками на странице: поиск, сортировка, фильтрация. Все эти функции позволяют существенно повысить эффективность и удобство работы со спис...
В данной статье рассмотрим, зачем в JS скриптах используется данный метод jQuery, а также особенности его применения. Назначение Начнем с того, что .ready() – это метод JQuery для обработки события готовности страницы. Под готовностью страницы понимается готов...
Всплывающие подсказки существенно улучшают интерфейс и делают сайт более удобным и понятным для пользователя. В стандартном исполнении они позволяют оптимизировать навигацию, улучшить внешний вид элементов управления. Однако, функциональность стандартных всплы...