В библиотеке Intro.js каждый шаг интерактивного руководства сопровождается кнопками управления: Next, Previous, Skip, Done. По умолчанию эти кнопки имеют английские надписи, но библиотека предоставляет гибкие средства для их кастомизации и локализации. Управление текстами осуществляется через опции при инициализации Intro.js или через методы объекта introJs.
При создании тура используется метод introJs() с
последующей настройкой через метод setOptions. Для
изменения текстов кнопок применяются ключи:
introJs().setOptions({
nextLabel: 'Вперёд',
prevLabel: 'Назад',
skipLabel: 'Пропустить',
doneLabel: 'Готово'
}).start();
Эти параметры принимают строковое значение и позволяют задавать любой текст, включая символы Юникода и HTML-разметку.
Для многоязычных приложений удобнее централизованно задавать переводы для всех шагов. Вместо того чтобы вручную изменять текст кнопок для каждого тура, можно использовать объект локализации:
var i18n = {
nextLabel: 'Далее',
prevLabel: 'Назад',
skipLabel: 'Пропустить',
doneLabel: 'Завершить'
};
introJs().setOptions(i18n).start();
Это упрощает поддержку нескольких языков: достаточно подставить другой объект с переводами.
В некоторых случаях требуется, чтобы текст кнопки менялся на
определённом шаге. Для этого используется объект step при
описании шагов тура:
introJs().setOptions({
steps: [
{
element: '#step1',
intro: 'Первый шаг',
nextLabel: 'Следующий'
},
{
element: '#step2',
intro: 'Второй шаг',
prevLabel: 'Назад',
doneLabel: 'Завершить'
}
]
}).start();
Важные моменты:
nextLabel и prevLabel могут переопределять
глобальные настройки только для конкретного шага.doneLabel автоматически заменяет кнопку
Next на последнем шаге, если задано.Intro.js поддерживает вставку HTML-разметки в тексты кнопок. Это позволяет добавлять иконки или стилизованные элементы:
introJs().setOptions({
nextLabel: '<span class="btn-text">Далее</span> <i class="arrow-icon"></i>',
skipLabel: '<strong>Пропустить</strong>'
}).start();
Рекомендации при использовании HTML:
span,
strong, i) для стилизации текста и
иконок.В процессе работы тура возможно изменение надписей кнопок на лету
через методы объекта introJs. Для этого используется
метод onbeforechange:
introJs().onbeforechange(function(targetElement) {
var step = this._currentStep;
if(step === 1) {
this.setOption('nextLabel', 'Следующий шаг');
}
}).start();
Особенности динамического изменения:
setOption позволяет изменить текст кнопки для
текущего шага без перезапуска тура.Настройка текстов кнопок в Intro.js обеспечивает гибкость интерфейса и улучшает пользовательский опыт, позволяя создавать полностью локализованные и стилизованные интерактивные руководства.