【发布时间】:2016-10-26 21:51:56
【问题描述】:
我有一个位置固定的“粘性”元素。客户端调整屏幕大小或 DOM 更改后;我需要重新定义静态(相对)位置。
当元素有一个固定位置(它粘住)时,我只需将元素的位置更改为相对位置,获取它的偏移量并重置位置:
if (self.isStick) {
elemOffset = $element.css('position', 'relative').offset();
$element.css('position', 'fixed');
} else {
elemOffset = $element.offset();
}
这可行,但感觉有点 hacky。我想知道是否有替代方案 - 具有更好的性能。有什么想法吗?
【问题讨论】:
-
elemOffset = self.isStick ? $element.clone().css('position', 'relative').offset() : $element.offset();
标签: javascript jquery css-position offset sticky