jQuery.offset()设置位置:绝对.我需要位置:固定
jQuery.offset() sets position: absolute. I need position: fixed
使用jQuery.offset({coords})
设置元素的偏移量时,还会将CSS属性position
设置为absolute
。
然而,我有一个div,我在CSS中设置为position: fixed
,我希望它保持这种状态,即使在用jQuery设置元素的偏移量之后也是如此。
现在,我确信我可能可以设置偏移量,然后再次设置position: fixed
,但我想知道是否有一种方法可以告诉jQuery在设置偏移量时将位置设置为固定而不是绝对。
HTML
<div class="searchResults">
...
</div>
CSS
DIV.searchResults {
position: fixed;
padding: 20px;
background-color: red;
z-index: 501;
}
jQuery
$("DIV.searchResults").offset({left: 0, top: 0});
渲染HTML
<div class="searchResults" style="position: absolute; top: 0px; left: 0px;">
...
</div>
显然,由于jQuery正在设置样式中的位置,它将胜过我的CSS类的值。因此,我需要一种方法来告诉jQuery将position
设置为fixed
而不是absolute
,或者告诉它在不设置CSS属性position
的值的情况下设置偏移量。
正如我上面所评论的,在您的情况下,您只需要修改顶部和左侧的CSS,如下所示:
$("DIV.searchResults").css({left: 0, top: 0});
因为$offset setter方法只操作left、top和position值,使元素相对于页面(从静态到相对,从固定到绝对)。由于您希望它的位置固定,请直接设置值。
也许没有那么优雅,但我认为你可以在那之后链式.css()
,以确保position
设置为fixed
,如下所示:
jquery
$("DIV.searchResults").offset({
left: 0,
top: 0
}).css("position" : "fixed");
没有测试,但我认为这会奏效。
相关文章:
- 基础 6,粘性菜单和画布外位置固定
- 位置固定,但在<身体>
- 使用固定位置固定标题会导致内容在滚动过程中跳到标题下方
- 位置固定到页脚之前
- 页脚位置固定在任务栏下,但桌面分辨率的<正文>内容
- 保持滚动位置固定
- 触摸事件对位置:固定;元素在 iOS 上无法正常工作
- 切换位置固定和静态
- 如果位置固定,则更改背景颜色
- 背景位置:固定
- 位置固定在移动浏览器中不起作用
- 电话间隙 2.8 位置:固定不正常工作
- 滚动 X 数量时将导航更改为“位置:固定”
- 传单与位置:固定叶灰色轨迹后滚动
- 最大宽度正在改变位置:固定边距
- 使图像(位置:固定)仅在DIV内部可见
- 如何使一个元素假位置:固定,使其行为固定,直到某个滚动高度,然后附加
- Z索引无法在位置固定的情况下工作
- 滑动滑块”;位置:固定”;
- 控制器内部的角度位置固定(角度模态?)