Прогресс по аналогии с Windows
Мы описали виджет индикатора прогресса с числовым значением прогресса в наложении на зеленую панель.
Windows 7 не использует этот принцип, но показывает оставшееся время над планкой. А поскольку Microsoft представила часть того, что будет с Windows 8, мы видим на скриншотах, что виджет неизменен.
Что касается Mac OS Lion, он использует не менее очищенный виджет, с голубым цветом.
Похожий вид мы можем придать нашим веб-приложениям с графическим компонентом, описанным ниже. Это благодаря таблице стилей в CSS 2 и 3.
HTML-код
Для отображения числового значения:
<p id="progressnum"></p>
Для индикатора выполнения :
<div id="progressbar">
<div id="indicator"></div>
</div>
Код для демонстрации:
<input type="button" name="Submit" value="Lancer" onclick="itv = setInterval(prog, 100)" /> <input type="button" name="Submit" value="Stopper" onclick="clearInterval(itv)" />
Код CSS
CSS-код также проще. На этот раз мы используем два изображения, одно для фона виджета, одно для индикатора прогресса.
#progressbar
{
position:relative;
width:250px;
padding:0 0 0 0;
background-image:url("images/pggray.png");
height:14px;
border:1px solid #CCC;
-moz-border-radius:2px;
border-radius:2px;
}
#indicator
{
position:absolute;
left:0;
top:0;
width:0px;
background-image:url("images/pggreen.png");
height:14px;
margin:0 0 0 0;
}
JavaScript
<script>
var maxprogress = 250;
var actualprogress = 0;
var itv = 0;
function prog()
{
if(actualprogress >= maxprogress)
{
clearInterval(itv);
return;
}
var progressnum = document.getElementById("progressnum");
var indicator = document.getElementById("indicator");
actualprogress += 1;
indicator.style.width=actualprogress + "px";
progressnum.innerHTML = (maxprogress - actualprogress) + " secondes restantes";
}
</script>
Код может быть скопирован выше для приложений и помещен в источник. Вам также нужно два изображения :
Фоновое изображение индикатора.
Progress bar совместим все браузеры, виджет с числовым значением прогресса в наложении.