news 2026/4/18 7:29:21

jQuery UI 实例 - 定位(Position)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
jQuery UI 实例 - 定位(Position)

jQuery UI Position(定位)实例

Position是 jQuery UI 中非常实用的工具方法,用于将一个元素精确地定位到另一个元素(或页面、窗口)的相对位置。它支持碰撞检测(collision)、偏移(offset)、自动调整等功能,常用于实现工具提示(Tooltip)、下拉菜单、上下文菜单、对话框居中、气泡提示、拖拽吸附等场景。

官方文档:https://jqueryui.com/position/

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

1.基础定位(相对目标元素)

将一个元素定位到另一个元素的指定位置。

<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>jQuery UI Position 基础示例</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>#target{width:150px;height:100px;background:#3498db;margin:100px auto;position:relative;}#positioned{width:100px;height:80px;background:#e74c3c;color:white;padding:10px;position:absolute;}</style></head><body><buttonid="pos1">右下角</button><buttonid="pos2">左上角</button><buttonid="pos3">居中</button><divid="target">目标元素</div><divid="positioned">被定位元素</div><script>$(function(){$("#pos1").click(function(){$("#positioned").position({my:"left top",// 被定位元素的参考点at:"right bottom",// 目标元素的参考点of:"#target"// 目标元素});});$("#pos2").click(function(){$("#positioned").position({my:"right bottom",at:"left top",of:"#target"});});$("#pos3").click(function(){$("#positioned").position({my:"center center",at:"center center",of:"#target"});});});</script></body></html>
2.常用选项(offset、collision)
<buttonid="tooltipBtn">悬停查看提示</button><divid="tooltip"style="display:none;background:#333;color:white;padding:10px;border-radius:6px;position:absolute;">这是一个工具提示框,支持自动翻转!</div><script>$("#tooltipBtn").hover(function(){$("#tooltip").show().position({my:"left+10 center",at:"right center",of:this,collision:"flipfit"// 先翻转,再适应视口});},function(){$("#tooltip").hide();});</script>
3.定位到鼠标或窗口

常用于自定义上下文菜单或气泡。

<divid="contextMenu"style="display:none;background:#fff;border:1px solid #ccc;padding:10px;box-shadow:0 4px 10pxrgba(0,0,0,0.2);position:absolute;"><ul><li>复制</li><li>粘贴</li><li>删除</li></ul></div><script>$(document).on("contextmenu",function(e){// 右键$("#contextMenu").show().position({my:"left top",at:"left top",of:e,// 定位到鼠标事件offset:"10 10"});e.preventDefault();// 阻止默认右键菜单});$(document).click(function(){$("#contextMenu").hide();});</script>
4.窗口居中 + 动态调整
<buttonid="centerWindow">窗口居中</button><script>$("#centerWindow").click(function(){$("#positioned").position({my:"center center",at:"center center",of:window,// 定位到窗口collision:"none"// 不处理碰撞});});// 窗口大小变化时重新定位$(window).resize(function(){$("#positioned").position({my:"center center",at:"center center",of:window});});</script>

常用 my/at 值组合

小技巧

Position 是实现高级交互布局的核心工具,常用于自定义下拉菜单、气泡提示、浮动工具栏。如果你需要完整自定义 Tooltip下拉菜单、或拖拽时吸附定位的示例,请告诉我!

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

基于PLC的污水处理系统设计

3 污水处理系统的硬件设计 3.1 污水处理的过程和设备控制过程 3.1.1 污水处理的过程 本文是基于SBR污水处理工艺所设计的&#xff0c;按照“进水、反应、沉淀、排水”这四大步骤而进行的污水处理措施。从污水流入开始到排水结束算一个周期[8]。其基本操作运行过程如下图3.1所示…

作者头像 李华
网站建设 2026/4/18 12:49:47

Open-AutoGLM皮肤状态监测:3步实现专业级肤质分析,普通人也能轻松上手

第一章&#xff1a;Open-AutoGLM皮肤状态监测Open-AutoGLM 是一款基于多模态大模型的智能皮肤分析系统&#xff0c;专为实时皮肤状态监测与个性化护理建议设计。该系统融合高分辨率图像识别、深度学习推理与用户行为数据分析&#xff0c;能够在移动端和边缘设备上高效运行&…

作者头像 李华
网站建设 2026/4/16 12:58:16

跨子网vxlan+M-lag+evpn分布式网关通信

项目背景前面讲解了VXLAN通过EVPN实现隧道自动建立&#xff0c;并且部署M-LAG来实现高冗余性。在二层通信的前提下&#xff0c;接下来演示分布式网关实现三层通信&#xff0c;现实中百分之八十也才有分布式。项目拓扑项目思路完成二层租户互联配置IP互联IP地址、二层接口链路类…

作者头像 李华
网站建设 2026/4/16 16:39:21

健身APP开发者必看:集成Open-AutoGLM实现毫秒级姿态追踪的技术路径

第一章&#xff1a;Open-AutoGLM在健身APP中的应用前景随着人工智能技术的快速发展&#xff0c;大语言模型&#xff08;LLM&#xff09;正逐步渗透到移动健康领域。Open-AutoGLM作为一种具备自主推理与任务编排能力的生成式AI框架&#xff0c;在个性化健身指导、用户行为分析和…

作者头像 李华
网站建设 2026/4/17 17:59:42

火山引擎谭待:AI时代,加速度最重要,云和模型需要“Agent友好”

2025年12月18日&#xff0c;火山引擎Force原动力大会在上海召开。作者 | 高 飞2011年&#xff0c;马克安德森在《华尔街日报》发表了一篇文章&#xff0c;标题是《为什么软件正在吞噬世界》。他的论点很简单&#xff1a;越来越多的行业正在被软件公司颠覆。软件能力更强的亚马…

作者头像 李华
网站建设 2026/4/16 14:05:05

错过等于落后:Open-AutoGLM即将改变千万家庭的烹饪方式

第一章&#xff1a;Open-AutoGLM即将重塑家庭厨房生态随着人工智能技术的深度渗透&#xff0c;家庭厨房正从传统的烹饪空间演变为智能化的生活中枢。Open-AutoGLM作为一款开源的自动语言生成模型&#xff0c;凭借其强大的语义理解与任务编排能力&#xff0c;正在重新定义厨房设…

作者头像 李华