- JqueryUI 教程
- JqueryUI - 主页
- JqueryUI - 概述
- JqueryUI - 环境设置
- JqueryUI 小部件
- JqueryUI - 手风琴
- JqueryUI - 自动完成
- JqueryUI - 按钮
- JqueryUI - 日期选择器
- JqueryUI - 对话框
- JqueryUI - 菜单
- JqueryUI - 进度条
- JqueryUI - 滑块
- JqueryUI - 微调器
- JqueryUI - 选项卡
- JqueryUI - 工具提示
- JqueryUI 效果
- JqueryUI - 添加类
- JqueryUI - 彩色动画
- JqueryUI - 效果
- JqueryUI - 隐藏
- JqueryUI - 删除类
- JqueryUI - 显示
- JqueryUI - 切换类
- JqueryUI - 切换
- JqueryUI - 切换类
- JqueryUI 实用程序
- JqueryUI - 位置
- JqueryUI - 部件工厂
- JqueryUI 有用的资源
- JqueryUI - 快速指南
- JqueryUI - 有用的资源
- JqueryUI - 讨论
JqueryUI - 位置
在本章中,我们将看到 jqueryUi 的实用方法之一,position()方法。position ()方法允许您相对于另一个元素或鼠标事件定位一个元素。
jQuery UI 从 jQuery 核心扩展了 .position() 方法,让您能够以自然地向其他人描述元素的方式描述如何定位元素。您不再处理数字和数学,而是处理有意义的单词(例如左和右)和关系。
句法
以下是position()方法的语法 -
.position( options )
其中options是 Object 类型,并提供指定如何定位包装集的元素的信息。下表列出了可以与此方法一起使用的不同选项-
先生。 | 选项和说明 |
---|---|
1 | 我的
此选项指定包装元素(正在重新定位的元素)的位置,以与目标元素或位置对齐。默认情况下它的值为center。 |
2 | 在
此选项的类型为字符串,指定目标元素的位置,重新定位的元素将与该目标元素对齐。采用与我的选项相同的值。默认情况下它的值为center。 |
3 | 的
这是 Selector 或 Element 或 jQuery 或 Event 类型。它标识要重新定位包装元素的目标元素,或包含用作目标位置的鼠标坐标的 Event 实例。默认情况下它的值为null。 |
4 | 碰撞
该选项的类型为String,指定当定位元素在任意方向延伸超出窗口时要应用的规则。默认情况下它的值为Flip。 |
5 | 使用
该选项是一个替代改变元素位置的内部函数的函数。使用单个参数调用每个包装元素,该参数由对象哈希组成,其中left和top属性设置为计算的目标位置,元素设置为函数上下文。默认情况下它的值为null。 |
6 | 之内
此选项是一个选择器或元素或 jQuery 元素,允许您指定哪个元素用作碰撞检测的边界框。如果您需要将定位元素包含在页面的特定部分中,这会派上用场。默认情况下它的值为window。 |
例子
下面的例子演示了位置方法的使用。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI position method Example</title> <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jquery.com/jquery-1.10.2.js"></script> <script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <!-- CSS --> <style> .positionDiv { position: absolute; width: 75px; height: 75px; background: #b9cd6d; } #targetElement { width: 300px; height: 500px; padding-top:50px; } </style> <script> $(function() { // Position the dialog offscreen to the left, but centered vertically $( "#position1" ).position({ my: "center", at: "center", of: "#targetElement" }); $( "#position2" ).position({ my: "left top", at: "left top", of: "#targetElement" }); $( "#position3" ).position({ my: "right-10 top+10", at: "right top", of: "#targetElement" }); $( document ).mousemove(function( event ) { $( "#position4" ).position({ my: "left+3 bottom-3", of: event, collision: "fit" }); }); }); </script> </head> <body> <div id = "targetElement"> <div class = "positionDiv" id = "position1">Box 1</div> <div class = "positionDiv" id = "position2">Box 2</div> <div class = "positionDiv" id = "position3">Box 3</div> <div class = "positionDiv" id = "position4">Box 4</div> </div> </body> </html>
让我们将上面的代码保存在 HTML 文件positionmethodexample.htm中,并在支持 javascript 的标准浏览器中打开它,您还必须看到以下输出。现在,您可以使用结果 -
在这个例子中我们看到 -
框 1与div 元素的中心(水平和垂直)对齐。
框 2与div 元素的左上角(水平和垂直)对齐。
框 3显示在窗口的右上角,但保留一些填充以使消息更加突出。这是使用my或at的水平和垂直值完成的。
对于框4,将值设置为事件对象。这是与指针关联的事件,并随鼠标事件一起移动。