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, время: 15:15. |