4.0.2 • Published 6 years ago

lhmodal v4.0.2

Weekly downloads
4
License
ISC
Repository
github
Last release
6 years ago

lhmodal

Плагин для создания модальных окон. При открытии модального окна фокус переводится на первый элемент формы (если отмечен флаг catchFocus: true). Плагин представляет собой ES6 class.

Установка

npm install lhmodal --save

##Подключение

import Lhmodal from 'lhmodal'

##Вызов

const myModal = new Lhmodal(selector, settings);

где selector - это селектор форм которые необходимо валидировать, settings - объект настроек

##Пример использования

HTML

<button id="show-modal">Показать модальное окна</button>
<div class="modal">
    <div class="modal__content">
        <button class="modal__close" >Закрыть</button>
        <h3>Hello world</h3>
    </div>
</div>

JavaScript

const button = document.getElementById('show-modal');
const myModal = new Lhmodal('.modal');

button.addEventListener('click', (e) => {
    e.preventDefault(); 
    myModal.show();
});

Настройки

Селекторы модального окна

В плагине реализована возможность изменения имен классов для каждого элемента модального окна и других сопутствующий элементов.

ОпцияЗначение по-умолчаниюОписание
modalContentmodal__contentКонтейнер контентной части модального окна
modalClosemodal__closeКнопка закрытия
bodyWithOpenModalhas-open-lhmodalКласс добавляемый body для запрета прокрутки

Пример

const myModal = new Lhmodal('.modal', {
    classNames: {
        modalContent: 'modal__content',
        modalClose: 'modal__close',
        bodyWithOpenModal: 'has-open-lhmodal',
    }
});

Способы закрытия модального окна

Есть возможность изменить способы закрытия окна

ОпцияЗначение по-умолчаниюОписание
backdroptrueКлик по заднему фону модального ок
buttontrueКлик по кнопка заданной через класс modalClose
esctrueНажатие клавиши esc

Пример

const myModal = new Lhmodal('.modal', {
    closeVariant: {
        backdrop: false,
        esc: false,
    }
});

Анимация

В данном плагине реализована возможность анимирования появления и исчезновения модального окна. Анимация осуществаяется с помощью CSS3 Анимации. Параметры анимации указаны в файле lhmodal.pcss. Добавлены четыре эффекта: slideInTop, slideInLeft, slideOutRight, slideOutDown.

ОпцияЗначение по-умолчаниюОписание
modalInmodal_inКласс добавляемый при появлении модального окна
modalOutmodal_outКласс добавляемый при исчезновении модального окна

Пример

const myModal = new Lhmodal('.modal', {
    classNames: {
        modalIn: 'modal_in',
        modalOut: 'modal_out',
    }
});

События

СобытиеОписание
lhmodal.showВызывается перед появлением модального окна
lhmodal.shownВызывается после появления окна.
lhmodal.closeВызывается перед исчезновении модального окна
lhmodal.closedВызывается после исчезновении окна.

Пример

const myModal = new Lhmodal('.modal');

myModal.DOM.modal.addEventListener('lhmodal.show', () => {
    console.log('show ');
});

Методы

МетодОписание
showПоказывает модальное окно
closeСкрывает модальное окно

Пример

const myModal = new Lhmodal('.modal');
myModal.close();

Глобальные методы

Методы

МетодОписание
closeAllСкрывает все модальные окна

Пример

import Lhmodal from 'lhmodal'
Lhmodal.closeAll();
4.0.2

6 years ago

4.0.1

7 years ago

4.0.0

7 years ago

3.0.1

7 years ago

3.0.0

7 years ago

2.0.3

7 years ago

2.0.2

7 years ago

2.0.1

7 years ago

2.0.0

7 years ago

1.5.2

7 years ago

1.5.1

7 years ago

1.5.0

7 years ago

1.4.0

7 years ago

1.3.1

7 years ago

1.3.0

7 years ago

1.2.0

7 years ago

1.1.2

8 years ago

1.1.1

8 years ago

1.0.0

8 years ago