0

我到处寻找,但找不到正确的解决方案

侧边栏很长,但是当我走到最后时仍然有空白,因为它不是内容的长度。所以,我在想也许使用 jquery 来“修复”它,但问题是,它仍然是一个长侧边栏。所以有没有办法让我在滚动时让侧边栏逐渐滚动,使其到达底部边栏在我到达页脚的同时?

我想到了一些可能类似于“(0,sidebarTop - scrollTop)”的东西,其中'sidebartop'是位置('top'随着滚动而增加,因此它会将侧边栏向下推)但它不能正常工作..它实际上是向上推

我有点睡眠不足,目前我可能还没有想清楚,但我需要在星期六为客户解决这个问题。

你看到侧边栏有多长了吗?(缩短你的浏览器)——我想要它,这样侧边栏会随着内容逐渐向下移动,就像这样

4

1 回答 1

1

你需要一点额外的数学:http: //jsfiddle.net/VEsdu/317/

scrolled = Math.min(1, (scrollTop - sidebarTop)/(ch - wh));
topPosition += scrolled * (ch - sh);

在第一行,我们得到视口中内容的哪一部分 - 0 表示视口顶部的内容顶部,1 表示视口底部的内容底部。在第二行,将边距添加到侧边栏,与内容/侧边栏高度之间的差异成比例。

我不确定这是否适用于高于侧边栏/内容的视口或调整窗口大小后,您应该检查这些情况。

于 2013-01-11T01:14:39.537 回答