news 2026/8/2 17:23:59

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/8/2 21:31:20

(独家)Open-AutoGLM启动日志分析技巧:从ERROR到SUCCESS的破局之路

第一章&#xff1a;Open-AutoGLM启动异常排查概述 在部署和运行 Open-AutoGLM 框架时&#xff0c;用户可能会遇到服务无法正常启动的问题。此类异常通常由环境依赖缺失、配置文件错误或资源限制引发。为快速定位并解决故障&#xff0c;需系统性地检查日志输出、运行环境与核心组…

作者头像 李华
网站建设 2026/8/2 20:40:27

9 个高效降AI率工具,本科生必看!

9 个高效降AI率工具&#xff0c;本科生必看&#xff01; AI降重工具&#xff1a;让论文更自然&#xff0c;更高效 随着人工智能技术的不断发展&#xff0c;越来越多的本科生在撰写论文时会使用AI辅助工具。然而&#xff0c;AI生成的内容往往带有明显的痕迹&#xff0c;导致查重…

作者头像 李华
网站建设 2026/8/3 11:23:26

Open-AutoGLM安装总是中断?,掌握这4个命令让你一次通过

第一章&#xff1a;Open-AutoGLM 安装失败修复在部署 Open-AutoGLM 时&#xff0c;部分用户可能遇到安装中断或依赖冲突的问题。这些问题通常源于 Python 环境不一致、缺失系统级依赖或 PyPI 镜像源不稳定。以下提供常见故障的诊断与修复方案。检查 Python 版本兼容性 Open-Aut…

作者头像 李华
网站建设 2026/8/1 17:18:22

【紧急修复指南】:Open-AutoGLM关键报错代码0xAGLM204快速应对方案

第一章&#xff1a;Open-AutoGLM 报错代码查询在使用 Open-AutoGLM 框架进行自动化任务时&#xff0c;开发者常会遇到各类运行时错误。准确识别并解析报错代码是快速定位问题的关键步骤。该框架通过标准化的错误码机制提供清晰的调试信息&#xff0c;帮助用户高效解决问题。常见…

作者头像 李华
网站建设 2026/8/2 16:25:13

数字人还能唱歌?Linly-Talker音乐语音合成初体验

数字人还能唱歌&#xff1f;Linly-Talker音乐语音合成初体验 在短视频与虚拟内容爆发的今天&#xff0c;一个让人忍不住驻足的问题悄然浮现&#xff1a;如果让AI数字人开口唱歌&#xff0c;会是什么样&#xff1f;是机械生硬的电子音&#xff0c;还是像真人歌手一样情感充沛、抑…

作者头像 李华
网站建设 2026/8/2 13:47:58

Java如何通过示例代码实现WebUploader分片上传?

大文件传输系统解决方案 项目背景与需求分析 作为北京某软件公司项目负责人&#xff0c;我们近期面临一个技术挑战&#xff1a;在产品中集成一个高性能、高稳定性的超大文件传输系统。经过详细需求分析&#xff0c;我们确认以下核心需求&#xff1a; 大文件处理能力&#xf…

作者头像 李华