@Black_Fire

Можно ли, взяв произвольную точку ширины слайдера input range в пикселях, узнать какое значение value в этой точке?

Например, можно ли на 135ом пикселе как-то узнать value?
<input type="range" min=1000 max=15000>

input {
  width: 180px
}
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Там же линейная интерполяция:
value = 1000 + 135 * (15000 - 1000) / 180 = 11500

Но это не учитывает сокращение диапазона пикселей из-за толщины «рукоятки» слайдера — а это уже зависит от стилей, платформы, браузера, положения Венеры в Марсе.

Так выглядит range slider в крайнем правом положении в Mozilla Firefox 106 под Mac Os X:
635fc7bb742cb744029407.pngширина 150px в масштабе 170%. Сверху точно той же ширины div с тёмной заливкой. CodePen.

Слайдер почему-то смещен на неск. пикселей правее div'а, но длина точно такая же.
Кнопка ездит, не вылезая за края диапазона. Значит, фактический диапазон пикселей меньше, чем сам слайдер.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы