元素在addClass jQuery方法上消失

时间:2013-09-19 13:02:37

标签: jquery css

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

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

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

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

3 个答案:

答案 0 :(得分:0)

所以我在codepen上看了一眼,你的元素仍在那里,它就在顶部。由于您的实际父容器不移动,也不是相对位置,侧边栏将相对于页面位置。

当你检查它并向下滚动时,你可以看到这一点,一旦它“消失”它实际上在页面的顶部,你看不到它,因为你太远了。

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

我认为你可能想要反过来(从position: absolute开始并使用position: fixed)或者一直使用position: fixed。切换到absolute时,元素将定位在DOM中的起始位置。它只是在屏幕上滚动。