news 2026/4/18 2:24:23

jQuery UI 实例 - 拖动(Draggable)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
jQuery UI 实例 - 拖动(Draggable)

jQuery UI Draggable(拖动)实例

jQuery UI 的Draggable交互允许将元素变为可拖动,常用于实现拖拽排序、窗口拖动、游戏交互等。基本用法简单,但支持丰富选项和事件。

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

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

1.基础拖动示例

最简单的可拖动元素。

<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>jQuery UI Draggable 基础示例</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>#draggable{width:120px;height:120px;padding:20px;background:#4CAF50;color:white;text-align:center;cursor:move;}</style></head><body><divid="draggable"class="ui-widget-content">拖动我!</div><script>$(function(){$("#draggable").draggable();});</script></body></html>
2.常见选项示例(helper、revert、cursor 等)
  • helper: "clone":拖动时显示克隆副本,原元素不动。
  • revert: "invalid":未放到有效区域时自动回弹。
  • cursor: "move":改变鼠标样式。
<divid="draggable2"class="ui-widget-content">克隆拖动(回弹)</div><script>$("#draggable2").draggable({helper:"clone",// 拖动克隆revert:"invalid",// 无效放置时回弹cursor:"move",// 鼠标样式opacity:0.7// 拖动时半透明});</script>
3.限制拖动范围(axis、containment、grid、snap)
  • axis: "x""y":仅水平/垂直拖动。
  • containment: "parent":限制在父容器内。
  • grid: [50, 50]:网格吸附,每 50px 一步。
  • snap: true:吸附到指定元素。
<divstyle="width:400px;height:300px;border:2px solid #000;position:relative;"><divid="draggable3">网格拖动(限制在容器内)</div></div><script>$("#draggable3").draggable({containment:"parent",// 限制在父容器grid:[50,50],// 网格吸附snap:true,// 吸附到其他元素(需指定snap目标)snapTolerance:20// 吸附距离阈值});</script>
4.拖动事件与手柄(handle、delay、distance)
  • handle:仅指定区域可拖动。
  • delay: 300:延迟 300ms 开始拖动(防误触)。
  • distance: 20:鼠标移动 20px 后开始拖动。
  • 事件:start、drag、stop。
<divid="draggable4"style="width:200px;height:100px;background:#2196F3;color:white;"><divclass="handle"style="background:#f44336;padding:10px;cursor:move;">仅此区域拖动</div><p>内容区域不可拖动</p></div><script>$("#draggable4").draggable({handle:".handle",// 仅手柄拖动delay:300,// 延迟开始distance:20,// 移动距离阈值start:function(){console.log("开始拖动");},drag:function(){console.log("拖动中");},stop:function(){console.log("停止拖动");}});</script>

Draggable 常与Droppable(放置)、Sortable(排序)结合使用,实现更复杂交互。如果你需要与 Droppable 结合的完整拖拽放置示例,或特定场景(如排序列表),请告诉我!

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

【Open-AutoGLM进阶必看】:99%人都忽略的定时任务配置陷阱与规避策略

第一章&#xff1a;Open-AutoGLM定时任务配置的核心机制Open-AutoGLM 作为一款面向自动化大语言模型任务调度的开源框架&#xff0c;其定时任务模块依赖于轻量级但高可扩展的调度引擎&#xff0c;实现了任务定义、触发条件与执行策略的解耦。该机制基于 Cron 表达式驱动&#x…

作者头像 李华
网站建设 2026/4/18 8:03:41

任务堆积严重?Open-AutoGLM队列管理实战技巧,立即见效

第一章&#xff1a;任务堆积严重&#xff1f;Open-AutoGLM队列管理实战技巧&#xff0c;立即见效在高并发场景下&#xff0c;Open-AutoGLM常面临任务堆积问题&#xff0c;导致推理延迟上升、资源利用率下降。通过合理的队列管理策略&#xff0c;可显著提升系统吞吐量与响应速度…

作者头像 李华
网站建设 2026/4/18 7:06:52

字节流与字符流读写

一、字节流读写单位&#xff1a;字节 (byte)&#xff0c;即 8 位二进制数。读取方式&#xff1a;它不管你读的是什么文件&#xff08;是图片、视频还是文本&#xff09;&#xff0c;它都把内容当成一串原始的二进制数据来搬运。你的代码&#xff1a;inputStream.read(bytes) 读…

作者头像 李华
网站建设 2026/4/18 8:54:37

手把手教你配置Open-AutoGLM防火墙:从入门到专家仅需这一篇

第一章&#xff1a;Open-AutoGLM防火墙概述Open-AutoGLM防火墙是一款基于大语言模型推理能力构建的智能网络安全防护系统&#xff0c;专为动态识别和拦截高级持续性威胁&#xff08;APT&#xff09;与语义级攻击设计。该防火墙融合了自然语言理解、行为模式分析与自动化策略生成…

作者头像 李华
网站建设 2026/4/18 8:16:38

Linly-Talker如何实现跨语言数字人对话?多语种支持详解

Linly-Talker如何实现跨语言数字人对话&#xff1f;多语种支持详解 在虚拟主播流畅切换中英双语讲解产品、AI客服用法语微笑着回应客户咨询的今天&#xff0c;我们正见证一场人机交互方式的深刻变革。驱动这场变革的核心&#xff0c;是一种名为“数字人”的新型智能体——它不再…

作者头像 李华
网站建设 2026/4/13 14:14:25

Open-AutoGLM启动异常深度解析(专家级排障流程曝光)

第一章&#xff1a;Open-AutoGLM启动异常排查概述在部署和运行 Open-AutoGLM 模型服务过程中&#xff0c;启动异常是常见的技术挑战。这类问题可能源于环境依赖不匹配、资源配置不足或配置文件错误等多种因素。准确识别并定位异常源头&#xff0c;是保障模型高效稳定运行的前提…

作者头像 李华