如何设置自定义滑块的值

时间:2014-07-19 19:00:14

标签: javascript c++ math numbers formula

我正在创建一个滑块控件,我在设置值时遇到问题

_x = 512;
_y = 256;
_width = 128;
_height = 12;
_min = 0;
_max = 10;

我做的事情,

// set the value
_input = 5;
_value = median(_x-(_width/2)+(_input/_max),_x-((_width/2)),_x+((_width/2)))

将_input设置为5应该将滑块放在中间,但它不会,我认为我的计算错误了。

_x - (_ width / 2)将给出0%的百分比,0的值

_x +(_ width / 2)将给出100%的百分比,10的值。最大

1 个答案:

答案 0 :(得分:0)

x0 € [_x-_width/2 .. _x+_width/2]线性映射到sl € [0..10],反之亦然,这不是什么大问题。

如果x0-(_x-_width/2)的偏移将其转换为0.._width,则10/_width需要0..10的比例:

sl == ( x0 - (_x-_width/2) ) * 10 / _width    // float div unless 10 | _width

反转:

x0 == (_x-_width/2) + sl * _width / 10

照顾intfloat分歧并进行四舍五入(+.5)。