Как перевести пиксели в проценты
Добрый день. У меня есть два блока, у одного ширина конкретно задана, у второго меняется в зависимости от значения. Выглядит это так:
<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, время: 15:49. |