Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   есть код, но работает только в одном браузере 2 (https://javascript.ru/forum/dom-window/21143-est-kod-no-rabotaet-tolko-v-odnom-brauzere-2-a.html)

Триви 30.08.2011 16:40

<form>
   <p>Введите длину в сантиметрах: <input type="text" onKeyUp="document.getElementById('res').innerHTML=(this.value/2.54).toFixed(2)" name="cm" value="0" /></p>
   <p>Длина в дюймах: <span id="res">0</span></p>
</form>

Александр х@к 30.08.2011 16:51

триви, то, что нужно. а есть какая-то замена тега <meter> для ФФ(метер работает только в Хроме и Опере(11.0).

Александр х@к 30.08.2011 16:55

триви, ошибка когда вводишь 1см выводит 0,39дюймов

Триви 30.08.2011 17:01

Цитата:

Сообщение от Александр х@к (Сообщение 123546)
триви, то, что нужно. а есть какая-то замена тега <meter> для ФФ(метер работает только в Хроме и Опере(11.0).

Ты путаешь Божий дар с яишницей.
Метер твой это элемент HTML 5!
Если ты хочешь реализовать без его использования,
используй другие средства, простую таблицу наконец!

devote 30.08.2011 17:10

<style type="text/css">
.progress_bar {
    position: relative;
    width: 100px;
    height: 20px;
    border: 1px solid #000;
}
#percent {
    position: absolute;
    left: 0;
    top: 0;
    color: red;
}
#progress {
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 20px;
    background-color: #00f;
}
</style>
<div class="progress_bar">
    <div id="progress"></div>
    <div id="percent">0%</div>
</div>
<button onclick="start();">Start</button>
<script type="text/javascript">
    function start( at ) {
        at = ++at || 0;
        var progress = document.getElementById('progress');
        var percent = document.getElementById('percent');
        progress.style.width = at + "px";
        percent.innerHTML = at + "%";
        if ( at < 100 ) {
            setTimeout( function() {
                start( at );
            }, 100 );
        }
    }
</script>

Триви 30.08.2011 17:12

Цитата:

Сообщение от Александр х@к (Сообщение 123552)
триви, ошибка когда вводишь 1см выводит 0,39дюймов

а должно сколько? :blink: :D

Александр х@к 30.08.2011 17:14

ой всё правильно)))

Александр х@к 30.08.2011 17:17

devote, то что нужно, а как сделать чтоб когда дошло 100% внизу появилось загружено?

devote 30.08.2011 17:22

<style type="text/css"> 
.progress_bar { 
    position: relative; 
    width: 100px; 
    height: 20px; 
    border: 1px solid #000; 
} 
#percent { 
    position: absolute; 
    left: 0; 
    top: 0; 
    color: red; 
} 
#progress { 
    position: absolute; 
    left: 0; 
    top: 0; 
    width: 0; 
    height: 20px; 
    background-color: #00f; 
}
#loaded {
    display: none;
}
</style> 
<div class="progress_bar"> 
    <div id="progress"></div> 
    <div id="percent">0%</div> 
</div> 
<div id="loaded">Loaded</div>
<button onclick="start();">Start</button> 
<script type="text/javascript"> 
    function start( at ) { 
        at = ++at || 0; 
        var progress = document.getElementById('progress'); 
        var percent = document.getElementById('percent'); 
        progress.style.width = at + "px"; 
        percent.innerHTML = at + "%"; 
        if ( at < 100 ) { 
            setTimeout( function() { 
                start( at ); 
            }, 100 ); 
        } else {
            document.getElementById('loaded').style.display = 'block';
        }
    } 
</script>

Триви 30.08.2011 17:25

Цитата:

Сообщение от Александр х@к (Сообщение 123563)
devote, то что нужно, а как сделать чтоб когда дошло 100% внизу появилось загружено?

if ( at == 100 ) {
    document.getElementById('res').innerHTML="Загружено."
}

Под прогрессбаром помещаешь:
<span id="res"></span>


Часовой пояс GMT +3, время: 18:03.