0

我有一些元素position: fixed。一旦剩余的元素滚动了足够的量,我想将固定元素更改为绝对元素,以便它们也开始移动。

这些元素已经融入他们的 CSSposition: fixed中。一旦页面滚动了一定的量,我就使用 jQuery 并且.addClass('absolute')这个类有规则position: absolute !important。(我发现对于一个在 id 选择器上定义绝对值的元素,这将优先于新的类规则)

然后发生的是我添加类的元素然后消失了。向后滚动时,我将删除该类并且元素将重新出现。我不知道为什么。

到目前为止的所有代码都在codepen

4

3 回答 3

0

所以我看了一眼代码笔,你的元素还在,它就在顶部。由于您的实际父容器没有移动,也没有相对位置,所以侧边栏将相对于页面定位。

当您检查它并向下滚动时,您可以看到它,一旦它“消失”它实际上位于页面顶部,您就看不到它,因为您太低了。

你需要它做什么?希望这可以帮助!:)

于 2013-09-19T13:08:30.510 回答
0

您显然需要top为绝对定位的元素设置一个值 - http://codepen.io/anon/pen/ubjvD

于 2013-09-19T13:09:11.567 回答
0

我想你可能想要做相反的事情(从开始position: absolute并使用position: fixed)或者只是使用position: fixed整个时间。当你切换到absolute时,元素将被定位在它在 DOM 中的起始位置。它只是被滚动出屏幕。

于 2013-09-19T13:09:24.130 回答