我有position: fixed
的一些元素。一旦剩余的元素滚动了足够的数量,我想将固定元素更改为绝对元素,以便它们也开始移动。
元素已融入其CSS position: fixed
。一旦页面滚动了一定数量,我就使用jQuery和.addClass('absolute')
,其中此类具有规则position: absolute !important
。 (我发现对于一个在id选择器上定义绝对值的元素,这将优先于新的类规则)
然后发生的是我添加该类的元素然后消失。在向后滚动时,我将删除该类,并且元素将重新出现。我不知道为什么。
到目前为止,所有代码都在codepen
答案 0 :(得分:0)
所以我在codepen上看了一眼,你的元素仍在那里,它就在顶部。由于您的实际父容器不移动,也不是相对位置,侧边栏将相对于页面位置。
当你检查它并向下滚动时,你可以看到这一点,一旦它“消失”它实际上在页面的顶部,你看不到它,因为你太远了。
你需要做什么呢?希望这可以帮助! :)
答案 1 :(得分:0)
您显然需要为绝对定位的元素设置top
值 - http://codepen.io/anon/pen/ubjvD
答案 2 :(得分:0)
我认为你可能想要反过来(从position: absolute
开始并使用position: fixed
)或者一直使用position: fixed
。切换到absolute
时,元素将定位在DOM中的起始位置。它只是在屏幕上滚动。