Запуск Bootstrap Modal при загрузке страницы без JS

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Осуществить активацию модального окна Bootstrap при загрузке страницы можно с помощью следующего фрагмента кода на jQuery:

JS
Скопировать код
$(function(){
    $('#myModal').modal('show');  // Поехали!
});

Разместите данный скрипт в конце вашей веб-страницы. Убедитесь, что идентификатор #myModal совпадает с ID вашего модального окна и что Bootstrap и jQuery подключены к вашему HTML в секции head. Теперь всё готово к действию!

Кинга Идем в IT: пошаговый план для смены профессии

Управление поведением модального окна

Активация при загрузке страницы

Чтобы модальное окно открывалось сразу при загрузке, можно использовать обработку события load в jQuery:

JS
Скопировать код
$(window).on('load', function(){
    $('#myModal').modal('show'); // Добро пожаловать!
});

Событие load гарантирует отображение модального окна после полной загрузки страницы, исключая его преждевременное появление.

Если вы желаете создать задержку перед отображением модального окна, вам пригодится JavaScript метод setTimeout:

JS
Скопировать код
window.onload = function(){
    setTimeout(function(){
        $('#myModal').modal('show');
    }, 500); // Приветствие через 500 миллисекунд
};

Переход на Bootstrap 5

В Bootstrap 5 отказались от использования jQuery. Теперь для инициализации модального окна применяется класс bootstrap.Modal:

JS
Скопировать код
var myModal = new bootstrap.Modal(document.getElementById('myModal'), {
  keyboard: false
});

document.addEventListener('DOMContentLoaded', (event) => {
    myModal.show(); // Новые встречи!
});

Отлично! Теперь вы используете современные подходы работы с модальными окнами в Bootstrap.

Визуализация

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

  1. 👤 Пользователь заходит на сайт.
  2. 🚀 Модальное окно Bootstrap приветствует пользователя автоматически.

В HTML это будет выглядеть следующим образом:

HTML
Скопировать код
<body>
    <script>
        $(window).on('load', function(){
            $('#myModal').modal('show');

            // Есть кто дома?
        });
    </script>
</body>

Сравнить это можно с тем, как при входе в комнату включается ТВ — это может немного удивить, но всё же ожидаемо и комфортно.

Основы работы с модальными окнами

Создание структуры

Эффективная и корректная HTML структура для модального окна предполагает следующий вид:

HTML
Скопировать код
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <!-- Здесь размещается содержимое модального окна -->
</div>

Bootstrap 4 использует классы fade и show для управления видимостью модального окна. Класс show делает окно видимым при загрузке без необходимости применения дополнительных приемов:

HTML
Скопировать код
<div class="modal show" id="myModal">
  <!-- Содержимое модального окна -->
</div>

Реагирование на взаимодействия пользователя

Кнопка для закрытия модального окна — это как спасательный круг для пользователя. Атрибут data-dismiss скрывает окно при его нажатии:

HTML
Скопировать код
<button type="button" class="btn btn-default" data-dismiss="modal">Закрыть</button>

Не стоит запутывать посетителей — предоставьте им явные инструкции для выхода из модального окна.

Распространенные проблемы

Следует учесть, что модальное окно может оказаться спрятанным за другими элементами из-за проблем с z-index и оформлением CSS. Правильный CSS как бы подобен балансу сил — важно точно знать, какой элемент находится на переднем плане.

Полезные материалы

  1. Modal · BootstrapОфициальная документация по Bootstrap по работе с модальными окнами.
  2. Bootstrap Modals — Усовершенствуйте свои навыки работы с модальными окнами Bootstrap с помощью материалов от W3Schools.
  3. Document: DOMContentLoaded event – Web APIs | MDN — Углубитесь в изучение события DOMContentLoaded в JavaScript и узнайте, какова его роль в работе с модальными окнами.
  4. javascript – Bootstrap modal appearing under background – Stack Overflow — на Stack Overflow обсуждается решение проблем с отображением модальных окон в Bootstrap.
  5. Just a moment... — на CodePen доступен пример модального окна Bootstrap, которое автоматически активизируется при загрузке страницы.
  6. How to Create Modals with Bootstrap 5 – Tutorial Republic — углубитесь в создание динамических модальных окон в Bootstrap с помощью данного руководства.