Создание и стилизация индикатора выполнения с помощью HTML5

  1. Основное использование
  2. Styling Progress Bar
  3. Оживи Прогресс
  4. Поддержка браузера
  5. Дальнейшие ссылки

HTML5 введен элемент индикатора выполнения, который позволяет нам отображать ход выполнения определенных задач, таких как загрузка или загрузка, в основном все, что выполняется

В этой статье мы обсудим, как добавить этот элемент в документ, как стилизовать его с помощью CSS и анимировать индикатор выполнения.

Давайте начнем.

Рекомендуемое чтение: 35 красивых дизайнов Progress Bar

Основное использование

Индикатор выполнения можно добавить с помощью <progress>; значение прогресса определяется с помощью атрибутов value, min и max следующим образом.

<progress value = "10" max = "100"> </ progress>

Поскольку это собственный индикатор выполнения, представление зависит от платформы. Ниже показано, как выглядит встроенный индикатор в Windows и OSX.

Теперь давайте попробуем стилизовать этот индикатор выполнения, чтобы он выглядел одинаково на всех платформах.

Styling Progress Bar

В таблице стилей мы на самом деле можем использовать селектор элемента для нацеливания и добавления правил стиля к элементу <progress>. В этом примере мы меняем цвет фона, удаляем граничную линию и округляем ее, добавляя радиус границы на половину его высоты.

progress {background-color: # f3f3f3; граница: 0; высота: 18 пикселей; радиус границы: 9 пикселей; }

Однако каждый браузер обрабатывает это немного по-своему.

В Firefox стили влияют на индикатор выполнения, в то время как индикатор выполнения / значение не затрагиваются.

В Chrome и Safari он удалит родные стили и презентацию с платформы и заменит их на Таблица стилей Webkit вышеуказанные стили не будут применены (по крайней мере, на данный момент).

Итак, нам нужно больше обходных путей в этих случаях.

Итак, нам нужно больше обходных путей в этих случаях

В Chrome и Safari элемент прогресса переводится следующим образом.

<progress> div <div> :: - webkit-progress-bar ┗ <div> :: - webkit-progress-value

Таким образом, чтобы изменить индикатор выполнения и стили значения прогресса в этих браузерах, нам нужно добавить эти псевдоклассы Webkit.

progress :: - webkit-progress-bar {/ * правила стиля * /} progress :: - webkit-progress-value {/ * правила стиля * /}

Firefox также имеет свой специальный псевдокласс: :: - moz-progress-bar. В отличие от Chrome и Safari, этот псевдокласс в Firefox относится к индикатору прогресса / значению.

progress :: - moz-progress-bar {/ * правила стиля * /}

В заключение, на данный момент это целые селекторы для стилизации индикатора выполнения HTML5.

progress {/ * правила стиля * /} progress :: - webkit-progress-bar {/ * правила стиля * /} progress :: - webkit-progress-value {/ * правила стиля * /} progress :: - moz-progress -bar {/ * правила стиля * /}

Оживи Прогресс

Далее мы увидим, как анимировать индикатор выполнения. Как правило, индикатор выполнения расширяется слева направо по мере выполнения задачи.

Идея состоит в том, что индикатор выполнения расширится от 0 и остановится, как только достигнет максимального значения. Мы также будем отображать номер значения по мере его продвижения. Ниже приведена структура HTML.

HTML

<progress id = "progressbar" value = "0" max = "100"> </ progress>

CSS

В этом примере мы будем использовать jQuery для анимации индикатора выполнения. Итак, мы также не должны забывать вставлять jQuery, вот так.

<script src = "js / jquery.js" type = "text / javascript"> </ script>

Затем мы добавляем сценарии, чтобы увеличить индикатор выполнения. Сначала мы сохраняем элемент индикатора выполнения, значение индикатора выполнения, а также максимальное значение и таймфрейм в переменных.

var progressbar = $ ('# progressbar'), max = progressbar.attr ('max'), значение = progressbar.val (), время = (1000 / max) * 5;

Далее мы создаем переменную, которая хранит функцию анимации. В этом примере мы вызываем переменную loading.

var loading = function () {}

Внутри функции выше мы устанавливаем интервал выполнения. Мы увеличим значение на 1 за таймфрейм - вы можете увеличить значение, чтобы ускорить прогресс.

значение + = 1;

И затем мы добавляем результат в индикатор выполнения.

addValue = progressbar.val (значение);

Мы также показываем значение внутри, рядом с индикатором выполнения.

$ ('. progress-value'). html (value + '%');

Далее мы создаем новую функцию для запуска функции анимации.

setInterval (function () {loading ();}, время);

На данный момент анимация уже работает. Тем не менее, значение будет расти бесконечно. Итак, нам нужно создать условный оператор для остановки анимации, когда она достигнет своего максимального значения.

Во-первых, давайте сохраним вышеуказанную функцию в переменной следующим образом.

var animate = setInterval (function () {loading ();}, время);

И внутри переменной загрузки мы добавляем условный оператор следующим образом.

if (value == max) {clearInterval (animate); }

В приведенном выше сценарии говорится, что, как только значение станет равным максимальному значению, очистите интервал, что остановит функцию анимации.

Вот и все, и вот все коды для анимации индикатора выполнения.

$ (документ) .ready (function () {var progressbar = $ ('# progressbar'), max = progressbar.attr ('max'), время = (1000 / max) * 5, значение = progressbar.val () ; var loading = function () {value + = 1; addValue = progressbar.val (value); $ ('. progress-value'). html (value + '%'); if (value == max) {clearInterval (animate);}}; var animate = setInterval (function () {loading ();}, время);};

Вы можете просмотреть демо-версию и загрузить исходный код по следующим ссылкам.

Поддержка браузера

В соответствии с CanIUse.com Элемент прогресса HTML5 полностью поддерживается в следующих браузерах: Firefox 16+, Chrome 8+, Safari 6+ и Opera 11+.

Леа Веру предоставляет полифилы для репликации аналогичной функциональности этого элемента в неподдерживаемых браузерах.

Дальнейшие ссылки

Ниже приведены несколько хороших ссылок, чтобы углубиться в этот элемент.

Похожие

Курс языка HTML: несколько слов об инструментах
Работа над документом HTML требует использования различных инструментов, которые можно разделить на несколько классов. Редакторы HTML Хотя документ можно редактировать в простейшем текстовом редакторе, для этого потребуется вручную ввести все коды, что довольно сложно и подвергает вас риску обгона сообщений об ошибках. Лучше воспользоваться богатым предложением специализированных редакторов HTML. Редакторы HTML можно разделить на два основных класса:
Нагрузочное тестирование на AWS с публичным IP-адресом
Частый запрос от Операций к командам QA: Если вы хотите загрузить тест, мне понадобится публичный IP-адрес для ваших агентов загрузки. Это справедливый запрос от команд операций, но по умолчанию агенты загрузки эфемерны. Некоторые из дорого инструменты предоставляют своим собственным агентам загрузки фиксированные IP-адреса, за которые вы платите большую премию.
Компоненты пользовательского интерфейса Styling с нуля: кнопки и формы
Трудно стилизовать основные веб-компоненты, если вы никогда не делали этого раньше. Вы хотите, чтобы ваши кнопки и формы выглядели хорошо, а также были совместимы с разными браузерами. Самое простое решение - использовать такую ​​среду, как Bootstrap или Foundation, но это не поможет вам понять основы. На самом деле это не так сложно, как кажется, и в этой статье я покажу вам, как это сделать. Чтобы облегчить себе жизнь, я собрал все это в свои собственные
Сосредоточиться на росте бизнеса с помощью управляемых услуг NOC
Центр управления сетью или NOC - это сердце и мозг ИТ-инфраструктуры компании. NOC контролирует и сообщает не только о вашей сети, но и о ваших серверах, ваших приложениях и многих других системах, основанных на ИТ и средствах. Это 24 часа в сутки, 7 дней в неделю, 52 недели в году, когда вы не смотрите на самые ценные пути вашей компании по предоставлению услуг вашим конечным клиентам и пользователям. NOC отслеживает
Как проверить безопасность антивируса, брандмауэра, браузера и программного обеспечения
Таким образом, у вас есть антивирус, защищающий вашу систему, ваш брандмауэр работает, все ваши плагины для браузера обновлены, и вы не пропускаете никаких патчей безопасности. Но
Как войти в свою учетную запись Google с помощью телефона вместо пароля
Google ввел новую безопасность аккаунта, основанную на двухэтапной проверке. Если вы включите эту опцию, вы сможете войти в свою учетную запись Google, подтвердив свою личность с помощью телефонного уведомления вместо пароля. Как это настроить? Двухэтапная проверка
Мобильные мультимедийные объявления: 16 примеров, которые поразят вашу аудиторию (часть 2)
Если вы следили за нашими 16 мобильных мультимедийных рекламных баннеров пост, эта статья является продолжением. К настоящему времени вы должны знать возможности некоторых функций или компонентов баннера мультимедиа. Итак, вот еще 8 примеров мобильных мультимедийных рекламных компонентов, которые вы можете встроить в свою мобильную рекламную кампанию. Давайте
Создание прочной базы SEO
Вы когда-нибудь задумывались о создании собственного SEO-бэкенда? Вы не знаете, как это сделать? Вы пришли в нужное место, я опишу в нескольких пунктах особенности сильной базы SEO. Форма бэк-офиса Для начала подумайте, в какой форме вы хотели бы создать свою базу SEO и как вы будете управлять ею. Самой простой
Доступ к Gmail в Microsoft Outlook с помощью Google Sync
Вы сейчас находитесь в основной области контента Следующие инструкции предназначены для тех, кто хочет получить доступ к своей Gmail Ryerson через клиент Microsoft Outlook. С помощью G Suite Sync для Microsoft
Стилизация веб-компонентов с использованием общей таблицы стилей
Веб-компоненты - это удивительная новая функция в Интернете, позволяющая разработчикам определять свои собственные элементы HTML. В сочетании с руководством по стилю веб-компоненты могут создавать API-компоненты, которые позволяют разработчикам прекращать копирование и вставку фрагментов кода и вместо этого просто использовать элемент DOM. Используя теневой DOM, мы можем инкапсулировать веб-компонент и не беспокоиться о войнах специфичности с любой другой таблицей стилей на странице. Тем не
CorelDRAW Graphics Suite
Примеры применения Функция быстрого кадрирования позволяет поместить любой объект внутри другого векторного объекта . Для этой цели вы можете использовать любую векторную форму, например, прямоугольник, эллипс, текст или другой векторный объект. Например, мы можем поместить

Комментарии

В настоящее время мы все фотографируем - даже с помощью смартфона - но сколько из нас зарабатывает на фотографии?
В настоящее время мы все фотографируем - даже с помощью смартфона - но сколько из нас зарабатывает на фотографии? Немногие и даже меньше знают, что это можно сделать без камеры. Просто научись ретушировать. «Зарабатывание денег на картинках» для многих является настолько абстрактным понятием, что они даже не рассматривают такую ​​возможность. Другие засучивают рукава, вкладывают все больше и больше денег в фотографическое оборудование и медленно
Устройства в ванной или на кухне управляются электронным способом с помощью мобильного приложения?
Устройства в ванной или на кухне управляются электронным способом с помощью мобильного приложения? Технологии, которые до недавнего времени можно было увидеть только в научно-фантастических фильмах, постепенно становятся обычным явлением. Интернет вещей - это концепция, которая была создана всего около десятка лет назад. Развитие современных технологий и все более распространенный доступ к компьютерным сетям позволили поддерживать повседневные предметы домашнего обихода с помощью электроники
Какими функциями должен обладать хороший редактор HTML?
Какими функциями должен обладать хороший редактор HTML? Повседневная практика показывает, что, прежде всего, должно быть множество сочетаний клавиш. Он богато оснащен такими программами, как HomeSite, Pajczek или Tiger98. Это ценная особенность, когда в редакторе мы работаем в основном в «текстовом» режиме (по аналогии с блокнотом-блокнотом в Windows) и гораздо удобнее использовать ярлыки и постоянно работать с мышью. Tiger98, Pajczek и HomeSite даже включают возможность переопределять

Как это настроить?
Вы не знаете, как это сделать?
В настоящее время мы все фотографируем - даже с помощью смартфона - но сколько из нас зарабатывает на фотографии?
Устройства в ванной или на кухне управляются электронным способом с помощью мобильного приложения?
Какими функциями должен обладать хороший редактор HTML?