UNPKG

radial-bar

Version:

Javascript library for creating radial progress bars on canvas

90 lines (69 loc) 4.11 kB
# RadialBar (v.0.2.1) **Эта JavaScript библиотека позволяет создавать радиальные прогресс бары на canvas.** ![pic](./pic.gif) ## Пример ```javascript var canvas = document.getElementById('paper'); var ctx = canvas.getContext('2d'); var bar = new RadialBar(ctx, { x: 500, y: 500, radius: 60, lineWidth: 4, lineFill: '#CCB566', backLineFill: '#FB6929', bgFill: '#F8FF8E', progress: 100, isShowInfoText: true, infoStyle: '30px Arial', infoColor: 'red' }); // Update function loop() { ctx.clearRect(0, 0, canvas.width, canvas.height); // добавляем bar.add(0.1); // перерисовываем bar.update(); requestAnimationFrame(loop); } loop(); ``` ## Чтобы начать Чтобы создать новый прогресс бар ```javascript var bar = new RadialBar(context, config); ``` * context - это полученный методом 'getContext('2d') контекст канваса. * config - это объект с описанием конфигурация прогресс бара ## Свойства config * x: **Integer** позиция центра окружности по x координате * y: **Integer** позиция центра окружности по y координате * angle: **Integer** задает угол наклона * radius: **Integer** радиус окружности * lineWidth: **Integer** ширина линии окружности (прогресс бар) * lineFill: **String (Color)** цвет заливки линии окружности (прогресс бар) * backLineFill: **String (Color)** цвет задний заливки (за линией окружности) * bgFill: **String (Color)** цвет самого прогресс бара (центр окружности) * progress: **Integer (Percentage)** значение в процентах от 0 до 100, позволяет указать на сколько процентов нужно заполить прогресс бар * isShowInfoText: **Boolean** показывать ли в центре прогресс в процентах (вид: value%) * infoStyle: **String (FontStyle)** позволяет указать стили для текста, как это делает свойство font в стандартном canvas API (например: '50px Arial') * infoColor: **String (Color)** позволяет указать цвет текста * isStop: **Boolean** Останавливает и запускает прогресс бар ## Методы RadialBar * styles(config) - задает все свойства конфига (используется так же в конструкторе) * set(val) - устанавливает в прогресс баре значение val, где val число от 0 до 100 * add(val) - добавляет значение val в прогресс бар, где val число от 0 до 100 * subtract(val) - вычитает значение val в прогресс баре, где val число от 0 до 100 * update() - вызывается после вызова set, add и subtract, чтобы обновить значения визуально на холсте * get() - возвращает строку типа 'value %', где value число от 0 до 100 ## Свойства RadialBar * все свойства, которые возможно записать в config * PERCENT_DEG - константа, которая ровняется 360/100 (1% от 360 грудусов) * degProgress - количество градусов, вычисляется так, progress (% загрузки) * PERCENT_DEG ## Автор **Андрей Жевлаков (@AZbang)** * __[VK](https://vk.com/id216312691)__ * __[Group in VK: AZbang | Web Development](https://vk.com/azbang)__ * __[Official Website](https://azbang.github.io/)__ * __[Telegram](https://telegram.me/AZbang)__