MG
Size: a a a
MG
VA
content size above : visible content size : content size below
equals to the ratio space above the scroller thumb : thumb size : space below the thumb
AM
AM
MG
VA
MG
MG
VA
VA
AM
MG
multiplier = scrollBarPosition / (getHeight() - scrollBarPosition);
absoluteOffsetLast = absoluteOffset;
absoluteOffset = multiplier * (documentHeight - windowHeight);
relativeOffset = absoluteOffset = absoluteOffsetLast;
scrolling = true;
document.scrollBy(0, (int) relativeOffset);
scrolling = false;
AM
VA
MG
getHeight() = [460]
scrollBarPosition = [314.1255]
multiplier = [2.1533954]
documentHeight = [1500.0]
windowHeight = [460.0]
absoluteOffset = [0.0]
MG
2.1533954 * (1500 - 460) = 2239.531216
AM
multiplier = scrollBarPosition / (getHeight() - scrollBarPosition);
absoluteOffsetLast = absoluteOffset;
absoluteOffset = multiplier * (documentHeight - windowHeight);
relativeOffset = absoluteOffset = absoluteOffsetLast;
scrolling = true;
document.scrollBy(0, (int) relativeOffset);
scrolling = false;
MG
relativeOffset = absoluteOffset = absoluteOffsetLast;
AM
multiplier = scrollBarPosition / (getHeight() - scrollThumbHeight);
MG
relativeOffset = absoluteOffset - absoluteOffsetLast;
right?