1. Скачайте и распакуйте последнюю версию hystModal
Скачать HystModal (v0.4)
GitHub
2.Подключите hystmodal.min.js и hystmodal.min.css на веб страницу:
<link rel="stylesheet" href="hystmodal.min.css">
<script src="hystmodal.min.js"></script>
Хорошим решением будет разместить тег <script> перед закрывающим тегом <body>
3.Поместите следующую разметку в ваш HTML документ:
<div class="hystmodal" id="myModal" aria-hidden="true">
<div class="hystmodal__wrap">
<div class="hystmodal__window" role="dialog" aria-modal="true">
<button data-hystclose class="hystmodal__close">Закрыть</button>
<!-- Ваш HTML код модального окна -->
</div>
</div>
</div>
.hystmodal - Основной селектор модального окна. Должен иметь уникальный id. Этот селектор не получает фокус в закрытом состоянии из-за CSS правила visbility:hidden. Аттрибут aria-hidden переключается автоматически.
.hystmodal__wrap - прокручиваемая область под модальным окном. В зависимости от настроек может закрывать модальное окна по клику/тапу. Этот элемент не имеет фона. Селектор .hystmodal__shadow, затеняющий содержимое страницы добавляется автоматически при загрузке скрипта прямо перед закрывающим тегом <body>
.hystmodal__window - Блок модального окна. Для доступности рекомендуется добавить атрибут aria-labelledby с описанием назначения окна.
[data-hystclose] - Элемент с атрибутом data-hystclose закрывает текущее открытое окно, если это разрешено в настройках. Может быть в любом месте внутри .hystmodal__window. Если применить класс .hystmodal__close, то кнопка будет оформлена в виде значка.
4.Разместите следующий JS код для активации и подключения модального окна:
const myModal = new HystModal({
linkAttributeName: "data-hystmodal",
// настройки (не обязательно), см. API
});
5.Добавьте атрибут data-hystmodal к элементу открывающему модальное окно. Значением может быть идентификатор или имя класса окна. например:
<a href="#" data-hystmodal="#myModal">Показать окно с id=myModal</a>
Название data-атрибута, который открывает окна определяется значением cсвойства linkAttributeName объекта настроек. По умолчанию он равен data-hystmodal.
6.При необходимости измените настройки.