3

有两个 div #leftPane#rightPane。#leftPane 具有相对位置,浏览器根据其高度设置滚动条,同时 #rightPane 具有 position: fixed 并且我在滚动时添加 top: -value,因此我们以不同的速度“滚动”第二个 div。我想要实现的是根据 1. 浏览器窗口高度、2 leftPane 内容高度和 3 rightPane 内容高度(2,3 内容高度可能每次都不同)得到类似 scrollSpeedModifier 的东西。

因此,在滚动 #leftPane 时 - 如果 #rightPane 的内容大于 #leftPane ,则其顶部值的增长速度比正常滚动快,但当 #rightPane 内容高度小于 #leftPane 时,顶部值的增长速度比正常滚动慢。

这是我现在计算速度的方式:

ar scrollSpeed = (rightPaneHeight) / browserHeight;

但这是错误的,有时我们会到达#rightPane 的中间,当我们更改“浏览器”大小(jfiddle 窗口大小)时,我们可能会到达#rightPane 的末尾。

这是我到目前为止结束的代码:

http://jsfiddle.net/bVfcX/15/

4

2 回答 2

1

好的固定, http://jsfiddle.net/bVfcX/21/

正确的算法是:

-$(window).scrollTop() * ((browserHeight - rightPaneHeight) / (browserHeight - leftPaneHeight));
于 2013-05-10T12:24:02.557 回答
0

看这个演示

  1. var doc = $(window); // for get height of document

  2. doc.scrollTop是函数使用doc.scrollTop()

试试看。

于 2013-05-10T10:42:33.797 回答