news 2026/3/2 4:27:05

jQuery UI 实例 - 放置(Droppable)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
jQuery UI 实例 - 放置(Droppable)

jQuery UI Droppable(放置)实例

jQuery UI 的Droppable交互允许将元素定义为“可放置目标”,通常与Draggable(拖动)结合使用,实现拖拽放置功能。常用于购物车、垃圾桶、排序列表、回收站等场景。

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

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

1.基础拖拽放置示例

拖动小方块到目标区域,放置时触发提示。

<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>jQuery UI Droppable 基础示例</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:100px;height:100px;background:#4CAF50;color:white;text-align:center;line-height:100px;cursor:move;}#droppable{width:200px;height:200px;background:#f44336;color:white;text-align:center;line-height:200px;margin-top:20px;}</style></head><body><divid="draggable"class="ui-widget-content">拖动我</div><divid="droppable"class="ui-widget-header">放到这里</div><script>$(function(){$("#draggable").draggable();$("#droppable").droppable({drop:function(event,ui){alert("放置成功!");$(this).addClass("ui-state-highlight").text("已放置!");}});});</script></body></html>
2.hover 效果与 accept(仅接受特定元素)
  • activeClasshoverClass:添加悬停/激活样式。
  • accept:只允许特定 draggable 元素放置(如不同类)。
<divid="draggable1"class="small">小方块(可放置)</div><divid="draggable2"class="big">大方块(不可放置)</div><divid="droppable2">仅接受小方块</div><style>.small{width:80px;height:80px;background:#2196F3;}.big{width:120px;height:120px;background:#FF9800;}#droppable2{width:250px;height:250px;background:#9C27B0;margin-top:20px;}</style><script>$(".small, .big").draggable();$("#droppable2").droppable({accept:".small",// 只接受 class="small" 的元素activeClass:"ui-state-active",// 可拖入时样式hoverClass:"ui-state-hover",// 悬停时样式drop:function(event,ui){$(this).text("小方块放置成功!");}});</script>
3.tolerance(容忍度)与 revert(回弹)
  • tolerance: "pointer"等:控制触发放置的条件(fit、intersect、pointer、touch)。
  • 与 draggable 的revert: "invalid"结合:无效放置时回弹。
<divid="draggable3">拖动我(无效时回弹)</div><divid="droppable3">放置目标(pointer 模式)</div><script>$("#draggable3").draggable({revert:"invalid"// 无效放置回弹});$("#droppable3").droppable({tolerance:"pointer",// 鼠标指针进入即触发drop:function(){alert("成功放置!");}});</script>
4.事件回调(over、out、drop 等)

完整事件:activate、deactivate、over、out、drop。

<script>$("#droppable4").droppable({over:function(event,ui){console.log("进入放置区");$(this).css("border","4px dashed green");},out:function(event,ui){console.log("离开放置区");$(this).css("border","");},drop:function(event,ui){console.log("放置完成");ui.draggable.appendTo(this);// 将拖动元素移动到目标内}});</script>

Droppable 常与 Draggable、Sortable 结合实现复杂交互(如回收站删除:放置到垃圾桶后移除元素)。如果你需要购物车示例、回收站效果,或与 Sortable 结合的列表排序,请提供更多细节!

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

用Linly-Talker做科普?NASA风格太空讲解视频生成实录

用Linly-Talker做科普&#xff1f;NASA风格太空讲解视频生成实录 在公众对宇宙探索的热情持续高涨的今天&#xff0c;如何让复杂的天体物理知识变得通俗易懂&#xff0c;成了科学传播者的一道难题。传统科普视频制作周期长、成本高&#xff0c;往往需要专业摄像、配音和后期团队…

作者头像 李华
网站建设 2026/2/25 18:21:23

揭秘Open-AutoGLM开机启动机制:5步完成无人值守自动化部署

第一章&#xff1a;Open-AutoGLM开机启动机制概述Open-AutoGLM 是一款基于大语言模型的自动化系统工具&#xff0c;其核心功能之一是实现服务在操作系统启动时自动加载与运行。该机制确保模型推理服务、任务调度模块及API接口能够在系统重启后无需人工干预即可恢复运行&#xf…

作者头像 李华
网站建设 2026/2/26 22:41:03

【专家级排错前置技能】:Open-AutoGLM运行日志开启的4步黄金法则

第一章&#xff1a;Open-AutoGLM运行日志开启的核心价值开启运行日志是保障 Open-AutoGLM 系统可观测性与可维护性的关键步骤。通过详细记录模型推理、任务调度及系统交互过程中的关键事件&#xff0c;日志为性能调优、故障排查和安全审计提供了坚实的数据基础。提升系统透明度…

作者头像 李华
网站建设 2026/2/26 23:13:41

Linly-Talker支持语音克隆,打造个性化虚拟形象

Linly-Talker&#xff1a;用语音克隆打造你的专属数字人 在直播带货的深夜&#xff0c;一位“主播”依然精神饱满地讲解着商品特性&#xff0c;声音亲切熟悉&#xff1b;在在线课堂中&#xff0c;一段由教师本人音色讲述的课程视频自动循环播放&#xff1b;甚至在家庭相册里&am…

作者头像 李华
网站建设 2026/2/27 4:27:43

Linly-Talker在梯田耕作系统中的水土保持讲解

Linly-Talker&#xff1a;用AI数字人讲好梯田水土保持的故事 在云南红河的清晨&#xff0c;薄雾还未散尽&#xff0c;层层叠叠的哈尼梯田已经泛起粼粼波光。这片延续千年的农耕智慧&#xff0c;正面临现代生态挑战——如何防止雨水冲刷带走宝贵的土壤&#xff1f;传统的科普方式…

作者头像 李华