- 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,将值设置为事件对象。这是与指针关联的事件,并随鼠标事件一起移动。