Таймер обратного отсчета
Расширение ui.countdown
добавляет таймер обратного отсчета. Доступно с версии ui 24.200.400.
Подключение
JS
import { Countdown } from 'ui.countdown'; // es6 new Countdown(props); new BX.UI.Countdown(props); // es5
PHP
\Bitrix\Main\UI\Extension::load('ui.countdown');
Параметры
Параметртип | Описание |
---|---|
propsObject | Коллекция параметров |
Параметр props
Параметртип | Описание |
---|---|
secondsnumber | Количество секунд для обратного отсчета. По умолчанию — 0 |
nodeHTMLElement | Ссылка на DOM-элемент, в котором будет выведен таймер.
Внутри этого элемента будет только таймер. При инициализации таймера все дочерние элементы будут очищены. |
showIconboolean | Показывать ли иконку перед таймером. По умолчанию — true |
iconClassstring | null | CSS класс для своей иконки.
По умолчанию При использовании сета иконок из ui-icon-set подключите соответствующий пакет |
showMinutesboolean | Делить ли секунды на минуты. По умолчанию — true .
Например, если передали
|
intervalnumber | Интервал между тактами в миллисекундах для регулировки скорости отсчета. По умолчанию — 1000 .
Примеры:
|
needStartImmediatelyboolean | Начать ли отсчет автоматически. Может иметь значения:
По умолчанию — |
hideAfterEndboolean | Скрывать таймер после окончания отсчета. По умолчанию равен false — таймер останавливается на нуле |
onTimerEndfunction | Колбэк, вызываемый при достижении нуля. Например, можно сделать кнопку активной |
Примеры использования
- Простой таймер на 20 секунд
<div id="simple-timer"></div> import { Countdown } from 'ui.countdown'; // es6 new Countdown({ seconds: 20, node: document.querySelector('#simple-timer'), });
- Таймер без минут (обычный счетчик)
<div id="simple-timer"></div> import { Countdown } from 'ui.countdown'; // es6 new Countdown({ seconds: 250, showMinutes: false, node: document.querySelector('#long-timer-without-minutes'), });
- Таймер с колбэком
<div id="callback"></div> <div id="button" style="margin-left: 20px;"></div> import { Countdown } from 'ui.countdown'; // es6 import { Button, ButtonSize, ButtonColor } from 'ui.button'; const button = new Button({ text: 'Отправить', size: ButtonSize.SMALL, color: ButtonColor.PRIMARY, }); button.renderTo(document.querySelector('#button')); new Countdown({ seconds: 5, node: document.querySelector('#callback'), onTimerEnd: () => { button.setDisabled(); }, });
© «Битрикс», 2001-2024, «1С-Битрикс», 2024