Модуль «Табы» «Чертоги Фрилансера» v3.0.0

Модуль «Табы» «Чертоги Фрилансера» v3.0.0

Табы – это заголовки и соответствующие им блоки. Как правило, по умолчанию открыт только один блок, другие скрыты. При нажатии на заголовок отображается соответствующий блок.

Основные возможности

  • Использование множества блоков с табами
  • Открытие нужного таба по хэшу
  • Превращение табов в спойлеры на указанной ширине экрана (удобно для адаптива)
  • Возможность анимированного открытия табов
  • Семантика

Подключение функционала

[HTML] В нужном месте вызвать tabs ( классы можно заменить на нужные). Или вручную создать структуру с соответствующими дата-атрибутами. Обратите внимание, что добавление класса _tab-active для заголовка таба сделает таб активным (открытым)

Пример блока с тремя табами:

<div data-tabs class="tabs">
	<nav data-tabs-titles class="tabs__navigation">
		<button type="button" class="tabs__title _tab-active">Таб №1</button>
		<button type="button" class="tabs__title">Таб №2</button>
		<button type="button" class="tabs__title">Таб №3</button>
	</nav>
	<div data-tabs-body class="tabs__content">
		<div class="tabs__body">
			Вміст першого таба
		</div>
		<div class="tabs__body">
			Вміст другого таба
		</div>
		<div class="tabs__body">
			Вміст третього таба
		</div>
	</div>
</div>

[JS] В файле js/app.js раскомментировать строку flsFunctions.tabs();

[SCSS] (не обязательно) Если вы хотите сразу посмотреть на работу табов и оставили классы, предложенные снипетом, вы можете раскомментировать строку @import “base/tabs”; в файле src/scss/base.scss это подключит базовые стили, которые можно отредактировать под свои потребности.

Использование функционала

Превращение табов в спойлеры

Для того, чтобы преобразовываться в спойлеры, необходимо для элемента с атрибутом data-tabs указать значение ширины экрана ниже которой произойдет преобразование:

<div data-tabs="768" class="tabs">
...
</div>

В момент преобразования к объекту с атрибутом data-tabs добавится класс _tab-spolle r, которым можно изменить стили для нового представления табов-спойлеров.

Открытие нужного таба по хэшу

Если необходимо открывать конкретный таб в конкретном блоке табов при открытии страницы по хэшу, необходимо для элемента с атрибутом data-tabs добавить атрибут data-tabs-hash :

<div data-tabs data-tabs-hash class="tabs">
...
</div>

Теперь, при нажатии на заголовки табов, в адрес страницы будет добавляться хеш вида: #tab-0-1, где 0 – это идентификатор блока с табами, а 1 – идентификатор таба в этом блоке.

Соответственно, перейдя на страницу с хешем #tab-0-1, откроется второй таб в первом блоке с табами. При #tab-2-0 откроется первый таб в третьем блоке с табами и так далее.

Анимация при открытии таба

Для того чтобы табы открывались плавно, необходимо объекту с атрибутом data-tabs , добавить атрибут data-tabs-animate , а в качестве значения указать количество миллисекунд, за которые откроется таб (по умолчанию 500).

<div data-tabs data-tabs-animate="1000" class="tabs">
...
</div>

Расположение и дополнительные данные

Функционал находится в js/files/functions.js . Название функции tabs()

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Что будем искать? Например,Человек

Мы в социальных сетях