РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
122 of 126 menu

Модальные окна

Реализуйте библиотеку для создания модальных окон на сайте.

Основные возможности проекта

  • Библиотека для создания модальных окон.
  • Открытие и закрытие с анимацией.
  • Блокировка прокрутки страницы при открытом окне.
  • Закрытие по клику на затемнение или на кнопку.
  • Поддержка кастомного содержимого (текст, HTML, формы).
  • Публикация на GitHub с документацией.

Функциональность библиотеки

Библиотека должна предоставлять следующие возможности:

  • Создание модального окна с произвольным содержимым.
  • Открытие и закрытие с плавной анимацией.
  • Блокировка прокрутки страницы при открытом окне.
  • Закрытие по клику на затемнение (overlay).
  • Закрытие по нажатию клавиши ESC.
  • Поддержка кастомных кнопок и действий.

Параметры настройки

При создании модального окна можно задавать параметры:

  • title - заголовок модального окна.
  • content - содержимое окна (текст, HTML-строка или DOM-элемент).
  • buttons - массив кнопок (текст, класс, callback).
  • animation - тип анимации (fade, slide, scale).
  • closeOnOverlayClick - закрывать ли по клику на затемнение.
  • closeOnEsc - закрывать ли по нажатию ESC.
  • width - ширина окна (в пикселях или процентах).

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

Модальное окно должно содержать:

  • Затемнение (overlay) на всю страницу.
  • Окно с содержимым, центрированное по вертикали и горизонтали.
  • Заголовок с кнопкой закрытия (крестик).
  • Основной блок с содержимым.
  • Блок с кнопками (footer).

Методы библиотеки

Библиотека должна предоставлять методы:

  • create(config) - создает и возвращает модальное окно.
  • open() - открывает окно.
  • close() - закрывает окно.
  • destroy() - удаляет окно из DOM.

Использование библиотеки

Пример использования библиотеки:

  • Подключить CSS-файл со стилями модальных окон.
  • Подключить JS-файл с библиотекой.
  • Создать модальное окно с настройками.
  • Вызвать метод open() для показа окна.

Публикация на GitHub

Библиотека должна быть выложена на GitHub с:

  • README.md с описанием и инструкцией по установке.
  • Демо-страницей с примерами использования.
  • Исходным кодом библиотеки.

Тестирование

Библиотека должна быть протестирована на:

  • Разных браузерах (Chrome, Firefox, Safari, Edge).
  • Разных типах содержимого (текст, формы, картинки, видео).
  • Блокировке прокрутки на страницах с разным контентом.

Дополнительные возможности

  • Стек модальных окон (открытие одного поверх другого).
  • Анимация для каждого окна индивидуально.
  • Поддержка форм с валидацией.
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить