我有一个"粘"具有固定位置的元素。客户端调整屏幕大小或DOM已更改后;我需要重新定义静态(相对)位置。
当元素具有固定位置(粘贴)时,我只需将元素的位置更改为相对位置,获取它的偏移量并重置位置:
if (self.isStick) {
elemOffset = $element.css('position', 'relative').offset();
$element.css('position', 'fixed');
} else {
elemOffset = $element.offset();
}
这很有效,但感觉有点hacky。我想知道是否有替代方案 - 性能更好。有什么想法吗?
答案 0 :(得分:2)
以下是使用JQuery .clone()
复制元素的示例。获取一行中的元素偏移量
elemOffset = self.isStick ? $element.clone().css('position', 'relative').offset() : $element.offset();