jQuery算法滚动速度

时间:2013-05-10 09:32:28

标签: jquery scroll

有两个div #leftPane #rightPane 。 #leftPane有位置相对和浏览器设置滚动条根据其高度,同时#rightPane有位置:固定,我在滚动时添加顶部: - 值,所以我们'以不同的速度滚动'secont div。我想要实现的是根据1.浏览器窗口高度,2左侧内容高度和3个右侧内容高度(每次2,3内容高度可能不同)得到类似scrollSpeedModifier的内容。

因此,当滚动#leftPane时 - 如果#rightPane的内容大于#leftPane,则其最高值比正常滚动增长得快,但是当#rightPane内容高度小于#leftPanes时,top值增长慢于正常滚动。

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

ar scrollSpeed = (rightPaneHeight) / browserHeight;

但这是错误的,有时我们会到#rightPane的中间位置,当我们更改'浏览器'大小(jfiddle窗口大小)时,我们可能会到#rightPane结束。

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

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

2 个答案:

答案 0 :(得分:1)

确定, http://jsfiddle.net/bVfcX/21/

正确的算法是:

-$(window).scrollTop() * ((browserHeight - rightPaneHeight) / (browserHeight - leftPaneHeight));

答案 1 :(得分:0)

请参阅此Demo

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

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

  3. 试一试。