input range value Ничего не понимаю!
Совсем простая штука
<!DOCTYPE html>
<html>
<body>
<input type="range" id="rng" style="width:300px;">
<br>
<button onclick="setrange()">Set 0.75</button>
<script>
let rng = document.getElementById("rng")
rng.min = "0";
rng.max = "1";
rng.value = "0.3";
rng.step = "0.1";
console.log('before', rng.value, rng.min, rng.max, rng.step) //before 0 0 1 0.1
const setrange =() =>{
rng.value = "0.75";
console.log('after',rng.value, rng.min, rng.max, rng.step) // after 0.8 0 1 0.1
}
</script>
</body>
</html>
Почему при начальной установки value = "0.3", значение получается 0 !? Хотя потом value = "0.75" дает 0.8 (ну это потому, что step=0.1) Вопрос снимается. Дошло! Сначала надо step установить. |
voraa,
а зачем rng.min = "0"; и т.д. в кавычках? |
Цитата:
Нелогично это step = 1 по умолчанию. Логичнее было бы step = 'any'. Ну не установил, значит с любым шагом, тем более, что для range значения все равно не точные. Тут еще нарвался. Везде написано, что input.value имеет тип DOMString Ага! Как же. Для input type=number устанавливаю value='10.' - сбрасывает value в пустую строку. value=10. - проходит. |
| Часовой пояс GMT +3, время: 09:39. |