Метад offset
Метад offset дазваляе атрымліваць
пазіцыю элемента адносна дакумента,
у адрозненне ад метаду
position,
які атрымлівае каардынаты адносна
водступаў бацькі. Метад offset больш
карысны пры пазіцыянаванні новага элемента
паверху існуючага для глабальных маніпуляцый,
напрыклад, для рэалізацыі перацягвання
(drag-and-drop).
Сваім вынікам, метад вяртае аб'ект,
які змяшчае ўласцівасці top і left.
Памылкі ў вылічэннях могуць узнікаць, калі карыстальнік
мяняе памеры старонкі. Таксама метад не атрымлівае
каардынаты схаваных элементаў.
Сінтаксіс
Атрымаць бягучыя каардынаты. У некаторых выпадках атрыманыя значэнні могуць быць дробнымі:
$(селектар).offset();
Каб змяніць каардынаты элемента, трэба
перадаць аб'ект, які змяшчае ўласцівасці
top і left:
$(селектар).offset({top: 40, left: 40});
Таксама мы можам ужыць зададзеную функцыю да кожнага
элемента ў наборы. Пры гэтым першым параметрам функцыя
атрымае нумар элемента ў наборы, а другім параметрам
- аб'ект з каардынатамі top і
left. this унутры функцыі будзе паказваць
на бягучы элемент.
Значэнні каардынат элемента зменяцца на тыя,
якія верне функцыя:
$(селектар).width(function(нумар у наборы, {бягучыя каардынаты}));
Прыклад
Давайце атрымаем пазіцыю дыва (зялёнага квадрата),
з дапамогай метаду offset, а затым, звярнуўшыся
да ключоў атрыманага аб'екта, вывядзем гэтую
інфармацыю:
<div id="result">click a square ...</div>
<div id="test"></div>
#test {
position: absolute;
top: 40px;
left: 40px;
width: 100px;
height: 100px;
background: green;
color: white;
margin-top: 10px;
cursor: pointer;
}
$('*', document.body).click(function(event) {
let offset = $(this).offset();
event.stopPropagation();
$('#result').text('Left: ' + offset.left + ', Top: ' + offset.top);
});
Прыклад
Давайце зменім каардынаты другога абзаца:
<p style="margin-left: 10px;">text1</p>
<p style="margin-left: 10px;">text2</p>
$('p').last().offset({top: 40, left: 60});
Глядзіце таксама
-
метад
position,
які дазваляе атрымліваць бягучыя каардынаты элемента -
метад
offsetParent,
які дазваляе атрымаць бліжэйшага спазыцыянаванага продка элемента -
метад
css,
які дазваляе атрымліваць і змяняць CSS стылі элемента