我正在创建一个UI,需要根据从中心离得越远的元素大小进行调整。
具体而言,其他元素来自中心,它们需要的越小。我将使用CSS var_dump(parse_url("www.abc.de/page2/#link1", PHP_URL_FRAGMENT));
执行此操作。
距离单位是这样的:
transform: scale(x)
由于我使用的是0 (at the centre, no adjust needed)
1
2
3
4
... and so on
,因此我需要将scale(x)
转换为1, 2, 3, 4..
等值,以便:
0.8, 0.65, 0.4, 0.25
这只是一个近似值,输出数字不需要精确,只是一条很好的曲线。
如何使用JavaScript完成此操作?我知道这是一个简单的数学问题,但我无法绕过它。
答案 0 :(得分:0)
为什么不使用Math.exp(-x)
。它会做的伎俩
答案 1 :(得分:0)
您可以选择任何数学函数并进行一些实验以获得正确的边界。
例如,让我们使用cos函数 cos(0)= 1; cos(pi / 2)= 0; 在这种情况下,将我们的长度和索引插值到pi / 2就可以了。
var calcScale = (index, length) => {
let x = ((Math.PI/2) * index)/length;
return Math.cos(x);
};