news 2026/4/11 6:11:13

jQuery UI 实例 - 排序(Sortable)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
jQuery UI 实例 - 排序(Sortable)

jQuery UI Sortable(排序)实例

jQuery UI 的Sortable交互允许用户通过鼠标拖拽对列表项进行排序,非常适合实现任务管理、菜单排序、看板(Kanban)等功能。它基于 Draggable 和 Droppable 构建,支持占位符、连接列表等高级特性。

推荐查看官方演示:https://jqueryui.com/sortable/

下面提供几个渐进实例,从基础到高级,代码使用最新 CDN,可直接复制到 HTML 文件测试。

1.基础排序示例

拖拽列表项改变顺序。

<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>jQuery UI Sortable 基础示例</title><linkrel="stylesheet"href="//code.jquery.com/ui/1.13.2/themes/smoothness/jquery-ui.css"><scriptsrc="//code.jquery.com/jquery-3.6.0.min.js"></script><scriptsrc="//code.jquery.com/ui/1.13.2/jquery-ui.min.js"></script><style>#sortable{list-style-type:none;margin:0;padding:0;width:300px;}#sortable li{margin:5px;padding:10px;font-size:1.2em;background:#f0f0f0;cursor:move;}#sortable li.ui-sortable-helper{background:#ffeb3b;}</style></head><body><ulid="sortable"><liclass="ui-widget-content">项目 1</li><liclass="ui-widget-content">项目 2</li><liclass="ui-widget-content">项目 3</li><liclass="ui-widget-content">项目 4</li><liclass="ui-widget-content">项目 5</li></ul><script>$(function(){$("#sortable").sortable();});</script></body></html>
2.占位符与手柄(placeholder、handle)
  • placeholder:拖拽时显示占位框。
  • handle:仅指定手柄区域可拖拽排序。
<style>.placeholder{border:2px dashed #ccc;background:#fff;height:40px;}.handle{float:left;cursor:move;margin-right:10px;}</style><ulid="sortable2"><li><spanclass="handle ui-icon ui-icon-grip-dotted-vertical"></span>仅手柄排序(带占位符)</li><!-- 更多项 --></ul><script>$("#sortable2").sortable({placeholder:"placeholder",// 占位符类handle:".handle",// 仅手柄拖拽opacity:0.7// 拖拽时半透明});</script>
3.连接列表(connectWith)

多个列表间可互相拖拽排序,常用于看板(如待办/进行中/完成)。

<divstyle="display:flex;gap:20px;"><div><h3>待办</h3><ulid="todo"class="connectedSortable"><li>任务 A</li><li>任务 B</li></ul></div><div><h3>进行中</h3><ulid="doing"class="connectedSortable"></ul></div><div><h3>完成</h3><ulid="done"class="connectedSortable"><li>任务 C</li></ul></div></div><style>.connectedSortable{min-height:200px;width:200px;border:1px solid #ccc;padding:10px;}.connectedSortable li{margin:5px;padding:10px;background:#fff;}</style><script>$(".connectedSortable").sortable({connectWith:".connectedSortable",// 连接所有同类列表placeholder:"placeholder"});</script>
4.事件回调(update、receive)与获取顺序
  • update:列表内排序变化时触发。
  • receive:从其他列表接收项时触发。
  • 使用toArray()获取当前顺序。
<p>当前顺序:<spanid="order"></span></p><script>$("#sortable").sortable({update:function(event,ui){varorder=$(this).sortable("toArray");// 获取项ID数组(需给li加id)$("#order").text(order.join(", "));console.log("新顺序:",order);}});</script>

Sortable 支持网格排序(grid)、延迟启动(delay)、禁用某些项(cancel)等更多选项。常用于后台菜单管理或任务拖拽。如果你需要保存排序到服务器的 AJAX 示例、带延迟/网格的实例,或与 Selectable 结合的多选排序,请提供更多细节!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/10 18:38:25

游戏NPC智能化:Linly-Talker在互动娱乐中的跨界尝试

游戏NPC智能化&#xff1a;Linly-Talker在互动娱乐中的跨界尝试 你有没有想过&#xff0c;有一天走进游戏世界&#xff0c;迎面走来的守卫NPC不仅能听懂你的每一句话&#xff0c;还能用带着沧桑感的低沉嗓音回应你&#xff0c;并且嘴唇开合、眼神流转都与语音完美同步&#xff…

作者头像 李华
网站建设 2026/4/10 23:37:55

趋势突破之笑脸选股指标公式

{}上趋势:MA(LOW,20)*1.2; 次上趋势:MA(LOW,20)*1.1,COLORYELLOW; 次下趋势:MA(HIGH,20)*0.9,COLORWHITE; 下趋势:MA(HIGH,20)*0.8; 趋势:(C-REF(C,1))/REF(C,1)*100; 突破:(HHV(H,20)-C)/(HHV(H,20)-LLV(L,20)); 趋势强度:IF(C>次上趋势,IF(C>上趋势,4,3),IF(C>次下趋…

作者头像 李华
网站建设 2026/4/8 14:22:22

Java生态下企业级AI应用落地:Function Calling架构的责任与管控设计

在AI技术向企业核心业务渗透的过程中&#xff0c;Java技术团队面临的核心挑战早已不是“如何让大模型调用一个接口”&#xff0c;而是如何构建一套安全、可控、可追溯的AI驱动体系。简单的HTTP调用或Prompt工程&#xff0c;只能停留在Demo阶段&#xff0c;无法满足企业级应用对…

作者头像 李华
网站建设 2026/4/8 10:43:42

揭秘Open-AutoGLM数据同步延迟:3步实现毫秒级实时记录

第一章&#xff1a;Open-AutoGLM运动数据记录的核心机制Open-AutoGLM 作为新一代智能运动数据采集系统&#xff0c;其核心机制依赖于多模态传感器融合与实时语义推理模型的协同工作。系统通过边缘计算设备采集加速度计、陀螺仪和GPS模块的原始数据&#xff0c;并利用轻量化Tran…

作者头像 李华
网站建设 2026/4/10 10:20:25

【专家亲授】Open-AutoGLM任务队列容量规划:基于负载预测的动态伸缩方案

第一章&#xff1a;Open-AutoGLM任务队列管理Open-AutoGLM 是一个面向自动化生成语言模型任务调度的开源框架&#xff0c;其核心组件之一是任务队列管理系统。该系统负责接收、排序、分发和监控异步任务&#xff0c;确保高并发场景下的稳定性和可扩展性。任务提交与定义 用户通…

作者头像 李华