在Javascript中,当我滚动时,当scroll.x数在300-400之间时,我想得到0-1。
因此300将为0,然后400将为1,介于两者之间的值为0.1、0.2。 同时,我尝试尝试,并且也会发布我的尝试。
答案 0 :(得分:2)
是的,您只需要一个简单的重新映射功能。
const remap = (
value,
sourceMin,
sourceMax,
destMin = 0,
destMax = 1,
) =>
destMin +
((value - sourceMin) / (sourceMax - sourceMin)) *
(destMax - destMin);
console.log(remap(300, 300, 400));
console.log(remap(400, 300, 400));
console.log(remap(350, 300, 400));
输出
0
1
0.5
请注意,此函数不会不将输出值限制在您指定的范围内;如果您指定了超出范围的输入,则会得到超出范围的输出。
答案 1 :(得分:0)
您可以减去起始值,然后除以100(两个值的差值),以获得介于0和1之间的值。
function f(x) {
return (x - 300) / 100;
}
console.log(f(300)); // 0
console.log(f(350)); // 0.5
console.log(f(400)); // 1