基于页面滚动反转方程式

时间:2014-07-21 20:09:04

标签: javascript jquery function resize equation

所以,不要告诉我的任何一位高中数学老师,但不能把这一点弄清楚。

我有一个图像设置根据用户是向上还是向下滚动来调整大小。如果他们向下滚动,那么我使用:

    height -= height * 0.1
    width -= width * 0.1

当用户向上滚动时,它设置为:

    height += height * 0.1
    width += width * 0.1

这不会使图像以与图像缩小相同的速率变大,因为它基于当前大小的10%。我考虑过保存以前的尺寸,但如果有人向下,向下,向下,向上,向下,向上,向上,向上等滚动,它就不会起作用。任何人都知道使用这个等式来使图像变得更大,速度越来越小吗?

1 个答案:

答案 0 :(得分:0)

缩小的内容与:

相同
height *= 0.9;
width *= 0.9;

并扩大:

height *= 1.1;
width *= 1.1;

一个与另一个不相反的原因是1 / 1.1不是0.9而是0.9090909090909。相反增加10%并没有减少10%,而是减少了约9.1%。

如果您使用1 / 1.1代替0.9,则会按相同的费率调整大小。这自然与将1.1除以缩小相同:

height /= 1.1;
width /= 1.1;

Rory McCrossan在从原始大小计算大小方面有一定的意义,这样可以避免累积舍入错误。变量zoom是一个整数值,从原始大小的零开始,每10%步长增加1,你得到:

height = originalHeight * Math.pow(1.1, zoom);
width = originalWidth * Math.pow(1.1, zoom);