Menu
Coddy logo textTech

Модальное окно (открыть/закрыть)

Часть раздела JavaScript in Action путешествия по HTML на Coddy — урок 3 из 27.

Модальное окно — это небольшое окно, которое появляется «поверх» страницы, чтобы привлечь внимание пользователя. Оно часто используется для форм входа, уведомлений или подтверждений. Вот как оно может выглядеть: 

Основные идеи:

  1. Модальное окно скрыто по умолчанию (display: none).
  2. Нажатие на кнопку «Open» запускает функцию openModal() → устанавливает display: block.
  1. Внутри модального окна кнопка закрытия (×) запускает функцию closeModal() → устанавливает display: none.
  2. Часто вы также можете закрыть его, кликнув вне модального окна (по темному оверлею).
<!-- Кнопка для открытия модального окна -->
<button onclick="openModal()">Открыть модальное окно</button>

<!-- Оверлей модального окна + контент -->
<div id="overlay" style="display:none;">
  <div class="modal">
    <span onclick="closeModal()">×</span>
    <p>Это модальное окно.</p>
  </div>
</div>

<script>
  function openModal() {
    document.getElementById("overlay").style.display = "block";
  }
  function closeModal() {
    document.getElementById("overlay").style.display = "none";
  }
</script>
challenge icon

Задание

Легко

У нас есть веб-страница с кнопками на космическую тематику, которые показывают интересные факты о космосе в модальном окне. Функция с названием openModal срабатывает при нажатии на любую кнопку с космическим фактом. Ваша задача — написать код внутри openModal так, чтобы модальное окно стало видимым.

  • Для этого установите свойство display элемента с ID "fact" в значение "block".

Попробуйте сами

<!DOCTYPE html>
<html>
<head>
  <title>Space Facts – Modal Example</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>

  <h1>Space Facts</h1>
  <p>Click the button below to learn something cool about space.</p>

  <!-- Buttons that open modals -->
  <button onclick="openModal('fact')">Fact 1</button>

  <!-- Overlay + Modal Content -->
  <div id="overlay" class="overlay" onclick="closeModal()">
    <div id="fact" class="modal">
      <span class="close-btn" onclick="closeModal()">×</span>
      <h2>Shooting Stars</h2>
      <p>Shooting stars are actually tiny meteors burning up as they enter Earth’s atmosphere.</p>
    </div>
  </div>

  <script src="script.js"></script>
</body>
</html>
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела JavaScript in Action