Как перевести пиксели в проценты
Добрый день. У меня есть два блока, у одного ширина конкретно задана, у второго меняется в зависимости от значения. Выглядит это так:
<div id="data">130</div> <div id="data1">шкала</div> <script type="text/javascript"> var data = document.getElementById('data'); var data1 = document.getElementById('data1'); data.style.border = "1px solid rgba(54,162,235,1)"; data.style.width = 30+ "%"; data1.style.background = "rgba(54,162,235,0.2)"; data1.style.width = data.innerHTML +"px"; </script> Так вот шкала у меня в пикселях, она при максимальном значений не должна превышать значения бордера. Которая в данный момент 30%. Как переконвертировать значение в проценты? Я хочу написать : data1.style.width = data.innerHTML +"%"; Но в данный момент это уже 130%, нужно чтобы не превышало заданный бордер в 30%. Например 0% = 0, а 30% будет равнятся значению 400 или 500 или 1000?:-? Тоесть конец шкалы я тоже сам задаю. На совсем наверное понятно, но как то так. |
:write: подожду решения, чтобы понять, что хочет тс ...
|
рони,
Ну вот например значение стало 730. Это равно 730 px, то есть уже больше 30% бордера, а надо чтоб он в пределах бордера плавал, хочу установить значение 30% например равно 1000, 0% соотвественно 0.:blink: <div id="data">730</div> <div id="data1">шкала</div> <script type="text/javascript"> var data = document.getElementById('data'); var data1 = document.getElementById('data1'); data.style.border = "1px solid rgba(54,162,235,1)"; data.style.width = 30+ "%"; data1.style.background = "rgba(54,162,235,0.2)"; data1.style.width = data.innerHTML +"px"; </script> |
Artur_Hopf,
ок, попробую |
Artur_Hopf, вы случаем не progress bar пытаетесь свелосипедить?
|
Artur_Hopf,
так? <div id="data">730</div> <div id="data1">шкала</div> <script type="text/javascript"> var data = document.getElementById('data'); var data1 = document.getElementById('data1'); data.style.border = "1px solid rgba(54,162,235,1)"; data.style.width = 30 + "%"; data1.style.background = "rgba(54,162,235,0.2)"; data1.style.width = (30 * data.innerHTML / 1000) +"%"; </script> |
рони,
Да, спасибо :thanks: Nexus, Не совсем, скорее градусник с плавающей шкалой:blink: |
Часовой пояс GMT +3, время: 21:01. |