mirror of
https://github.com/discourse/discourse.git
synced 2024-12-01 18:35:11 +08:00
bec76f937c
Note that this commit also introduces a `domUtils` helper to handle most complex operations in vanilla JS compared to using jQuery.
22 lines
566 B
JavaScript
22 lines
566 B
JavaScript
function offset(element) {
|
|
// note that getBoundingClientRect forces a reflow.
|
|
// When used in critical performance conditions
|
|
// you might want to move to more involved solution
|
|
// such as implementing an IntersectionObserver and
|
|
// using its boundingClientRect property
|
|
const rect = element.getBoundingClientRect();
|
|
return {
|
|
top: rect.top + window.scrollY,
|
|
left: rect.left + window.scrollX,
|
|
};
|
|
}
|
|
|
|
function position(element) {
|
|
return {
|
|
top: element.offsetTop,
|
|
left: element.offsetLeft,
|
|
};
|
|
}
|
|
|
|
export default { offset, position };
|