我有两个DIV元素#page
和#block
:
<div id="page"></div>
<div id="block"></div>
#block
元素具有固定的位置,并且内部具有内容丰富的内容overflow:hidden
。
#page
元素内部也有一些内容,但是它的高度#page
将比高度更长或更短#block
。
我的目标是实现这两个元素之间的同步滚动。像这样的东西:
我需要计算的速度#block
元件滚动,由于页眉和页脚元素#page
和#block
应在相同的位置从开始并在涡管的端部。
我尝试实现此目的的方式:
#page
元素高度#block
元素含量的高度(因为块元素是固定的并且一直具有固定的高度)计算#block
元素滚动速度:
$("#block").outerHeight / $("#page").outerHeight
触发.scrollTop()
的#block
它从一开始就起作用,并且#block
元素滚动比元素滚动要快#page
,但是到最后,元素滚动#block
还没有完全滚动。
这是我的JsFiddle:http : //jsfiddle.net/zur4ik/bQYrf/2/
也许有人可以看到我在做什么错?
提前致谢。
您必须将window height
放入案例中,并将其从元素高度中减去。
$(window).scroll(function() {
var pageH = $('#page').height() - $(this).height();
var pageT = this.scrollY - $('#page').offset().top;
$('#block').scrollTop(pageT / pageH * ($('#blockLength').height() - $(this).height()));
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句