JqueryUI - Позиция
В этой главе мы увидим один из служебных методов jqueryUi, метод position () . Метод position () позволяет позиционировать элемент относительно другого элемента или события мыши.
Пользовательский интерфейс jQuery расширяет метод .position () из ядра jQuery таким образом, чтобы вы могли описать, как вы хотите позиционировать элемент, так же, как вы естественным образом описали бы его другому человеку. Вместо того, чтобы работать с числами и математикой, вы работаете со значимыми словами (например, слева и справа) и отношениями.
Синтаксис
Ниже приводится синтаксис метода position () -
.position( options )
Где options имеет тип Object и предоставляет информацию, которая определяет, как должны быть расположены элементы обернутого набора. В следующей таблице перечислены различные параметры, которые можно использовать с этим методом.
Sr.No. | Вариант и описание |
---|---|
1 | мой Этот параметр указывает расположение обернутых элементов (тех, которые перемещаются) для выравнивания с целевым элементом или местоположением. По умолчанию его значениеcenter. Option - my Этот параметр указывает расположение обернутых элементов (тех, которые перемещаются) для выравнивания с целевым элементом или местоположением. По умолчанию его значениеcenter. Два из этих значений используются для указания местоположения: сверху, слева, снизу, справа и по центру , разделенных пробелом, где первое значение - этоhorizontal значение, а второй - vertical. Считается ли указанное единственное значениеhorizontal или же verticalзависит от того, какое значение вы используете (например, верхний край считается вертикальным, а правый - горизонтальным). Example
|
2 | в Этот параметр имеет тип String и указывает расположение целевого элемента, относительно которого необходимо выровнять перемещенные элементы. Принимает те же значения, что и моя опция. По умолчанию его значениеcenter. Option - at Этот параметр имеет тип String и указывает расположение целевого элемента, относительно которого необходимо выровнять перемещенные элементы. Принимает те же значения, что и моя опция. По умолчанию его значениеcenter. Example
|
3 | из Это тип Selector, Element, jQuery или Event. Он определяет целевой элемент, относительно которого должны быть перемещены обернутые элементы, или экземпляр события, содержащий координаты мыши, для использования в качестве целевого местоположения. По умолчанию его значениеnull. Option - of Это тип Selector, Element, jQuery или Event. Он определяет целевой элемент, относительно которого должны быть перемещены обернутые элементы, или экземпляр события, содержащий координаты мыши, для использования в качестве целевого местоположения. По умолчанию его значениеnull. Example
|
4 | столкновение Эта опция имеет тип String и определяет правила, которые должны применяться, когда позиционируемый элемент выходит за пределы окна в любом направлении. По умолчанию его значениеflip. Option - collision Эта опция имеет тип String и определяет правила, которые должны применяться, когда позиционируемый элемент выходит за пределы окна в любом направлении. По умолчанию его значениеflip. Принимает два (по горизонтали, а затем по вертикали) из следующих:
Если указано одно значение, оно применяется к обоим направлениям. Example
|
5 | с помощью Эта опция - функция, заменяющая внутреннюю функцию, изменяющую положение элемента. Вызывается для каждого обернутого элемента с одним аргументом, который состоит из хэша объекта с левым и верхним свойствами, установленными на вычисленную целевую позицию, и элементом, установленным как контекст функции. По умолчанию его значениеnull. Option - using Эта опция - функция, заменяющая внутреннюю функцию, изменяющую положение элемента. Вызывается для каждого обернутого элемента с одним аргументом, который состоит из хэша объекта с левым и верхним свойствами, установленными на вычисленную целевую позицию, и элементом, установленным как контекст функции. По умолчанию его значениеnull. Example
|
6 | в пределах Этот параметр является элементом «Селектор», «Элемент» или «jQuery» и позволяет указать, какой элемент использовать в качестве ограничивающей рамки для обнаружения столкновений. Это может пригодиться, если вам нужно разместить позиционированный элемент в определенном разделе вашей страницы. По умолчанию его значениеwindow. Option - within Этот параметр является элементом «Селектор», «Элемент» или «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 , то из значения устанавливаются в качестве объекта события. Это событие связано с указателем и перемещается вместе с событием мыши.