2010-10-07 4 views
0

Я пытаюсь закодировать индикатор выполнения в JS.Кодирование громкости

У меня есть штрих-код, но у меня проблемы с математикой, чтобы заставить его работать правильно. Когда пользователь нажимает на панель, я захватываю позицию пикселя, на которую они нажимают ... это работает правильно. Таким образом, мой бар имеет ширину 80 пикселей, и если я щелкнул по середине, значение щелчка вернется примерно на 40 ... если я нажму прямо в конце панели, я вернусь к 80.

Поэтому я думал, что мне нужно разделить щелкните по общей ширине полосы, а затем умножьте ее на общий объем ..., который составляет 100 ...

, так что щелкнуть по середине бара: 40/80 = 0,5. Это правильно ... пользователь нажал на полпути, так что 0.5 имеет смысл .... но тогда, если я на этот раз на 100, это дает мне 50, очевидно ... что не так ... если я делаю сценарий, пользователь нажал на полный объем i get 80/80 = 1 * 100 = 100

Какой расчет мне нужно сделать, чтобы заставить это работать?

+2

Почему не 50 "право"? Если ваш общий объем равен 100, и они нажимают прямо посередине, что не так с 50? –

+1

абсолютно правильно, что 40/80 * 100 = 50. – Fosco

+1

Звучит прямо на меня, пользователь нажимает на полпути, и вы получаете 50% в качестве ответа. Чего ты ожидал? – Gareth

ответ

1

Почему не 50 правильно? Вы сказали, что ваш объем составляет 100. 50 составляет 50% от 100, что составляет 50% от индикатора выполнения, что на полпути. Для меня смысл.

Смежные вопросы