Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: modal, dom

Как создать простое модальное окно на чистом JavaScript без использования библиотек?

Этот вопрос проверяет навыки работы с DOM и создания интерактивных элементов на веб-странице.

Короткий ответ

Для создания простого модального окна на чистом JavaScript нужно скрыть окно по умолчанию и показывать его при определённом действии, например, нажатии кнопки. Для этого можно использовать стили CSS для отображения и скрытия, а JavaScript для добавления/удаления этих стилей при взаимодействии пользователя, например, нажатии на кнопку или иконку закрытия.

Длинный ответ

Модальное окно — это всплывающее окно, которое отображается поверх основного содержимого страницы и часто используется для отображения важной информации или получения ввода от пользователя. На чистом JavaScript это реализуется через манипуляции DOM и изменение стилей.

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

<!-- HTML -->
<button id="openModal">Открыть модальное окно</button>
<div id="modal" class="modal">
	<div class="modal-content">
		<span id="closeModal" class="close">&times;</span>
		<p>Это модальное окно</p>
	</div>
</div>
<!-- CSS -->
<style>
	.modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); }
	.modal-content { position: relative; margin: 15% auto; padding: 20px; width: 80%; background-color: white; }
	.close { position: absolute; top: 10px; right: 20px; cursor: pointer; font-size: 20px; }
</style>
<!-- JavaScript -->
<script>
	const modal = document.getElementById('modal');
	const openModal = document.getElementById('openModal');
	const closeModal = document.getElementById('closeModal');
	openModal.addEventListener('click', () => {
		modal.style.display = 'block';
	});
	closeModal.addEventListener('click', () => {
		modal.style.display = 'none';
	});
	window.addEventListener('click', (e) => {
		if (e.target == modal) {
			modal.style.display = 'none';
		}
	});
</script>

Здесь модальное окно по умолчанию скрыто (display: none). При нажатии на кнопку открывается модальное окно, а при нажатии на крестик или вне окна — закрывается. Это простой способ реализации модального окна без использования библиотек.

Уровень

  • Рейтинг:

    2

  • Сложность:

    5

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#modal

#dom

Подпишись на React Developer в телеграм