从固定元素获取(静态)偏移量

时间:2016-10-26 21:51:57

标签: javascript jquery css-position offset sticky

我有一个"粘"具有固定位置的元素。客户端调整屏幕大小或DOM已更改后;我需要重新定义静态(相对)位置。

当元素具有固定位置(粘贴)时,我只需将元素的位置更改为相对位置,获取它的偏移量并重置位置:

if (self.isStick) {
    elemOffset = $element.css('position', 'relative').offset();
    $element.css('position', 'fixed');
} else {
    elemOffset = $element.offset();
}

这很有效,但感觉有点hacky。我想知道是否有替代方案 - 性能更好。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

以下是使用JQuery .clone()复制元素的示例。获取一行中的元素偏移量

elemOffset = self.isStick ? $element.clone().css('position', 'relative').offset() : $element.offset();