
Бар прогресса
Метка прогресса HTML 5 представляет состояние реализуемого события.
Синтаксис HTML 5:
<progress value="" max=""></progress>
Закрывающий тег является обязательным.
Прогресс может содержать другие теги. Он не может содержать другой тег прогресса.
Пример, чтобы узнать, поддерживает ли браузер этот HTML-тег 5. Кроме содержимого тега, ничего не отображается.
HTML-код :
<progress value="50%" max="200">50%</progress>
Тег имеет два собственных атрибута, связанных с представлением прогресса, а также атрибуты, унаследованные непосредственно для его внешнего вида. В таблице ниже определенные атрибуты выделены жирным шрифтом :
Атрибуты | Роль и комментарий |
стоившаяся друг друга | Значение, назначенное значению, - это текущий процент прогресса, который должен отображаться. Не предполагается ни одного подразделения. Мы назначаем его динамично . |
максимум | Это общее значение, представляемое столбцом, и максимальное значение, которое может иметь атрибут. Она может быть назначена для создания страницы или позже. |
width | Ширина полосы, которая зависит от максимального значения и детализации прогресса. |
высота | Высота штанги. |
вертикальное выравнивание | Выравнивание индикатора в графическом виджете. |
фон-color | Серый по умолчанию - цвет фона виджета. |
дисплей | По умолчанию inline-block . |
Панель прогресса в HTML 4
Для создания этого графического элемента будут использоваться два вложенных слоя, а ход выполнения будет представлен внутренним слоем, ширина которого постепенно меняется на JavaScript.
CSS-код в этом примере выглядит следующим образом:
width:300px;
padding:2px;
background-color:white;
border:1px solid black;
text-align:center
Для внутреннего слоя начальный CSS-код:
width:0px;
background-color:green;
А ширина меняется кодом JavaScript:
function prog(w)
{
var x = document.getElementById("indicator");
x.style.width=w;
}
Для демонстрации можно имитировать непрерывный прогресс с помощью функции JavaScript setInterval.
Демонстрация и виджет
Минимальный HTML-код
Для отображения только индикатора прогресса без значения.
<div id="progressbar">
<div id="indicator"></div>
</div>
Полный HTML-код
Создание виджета и отображение текущего значения.
<div id="pwidget">
<div id="progressbar">
<div id="indicator"></div>
</div>
<div id="progressnum">0</div>
</div>
<input type="button" name="Submit" value="Lancer la progression"
onclick="itv = setInterval(prog, 100)" />
<input type="button" name="Submit" value="Stopper"
onclick="clearInterval(itv)" />
Полный код CSS
#pwidget
{
background-color:lightgray;
width:254px;
padding:2px;
-moz-border-radius:3px;
border-radius:3px;
text-align:left;
border:1px solid gray;
}
#progressbar
{
width:250px;
padding:1px;
background-color:white;
border:1px solid black;
height:28px;
}
#indicator
{
width:0px;
background-image:url("shaded-green.png");
height:28px;
margin:0;
}
#progressnum
{
text-align:center;
width:250px;
}
Код JavaScript
var maxprogress = 250; // total à atteindre
var actualprogress = 0; // valeur courante
var itv = 0; // id pour setinterval
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 = actualprogress;
if(actualprogress == maxprogress) clearInterval(itv);
}
Для управления индикатором прогресса присваивается глобальная обновленная переменная и устанавливается на ноль, чтобы сбросить счетчик.
См. также