Подтвердить что ты не робот

Загрузить Bootstrap modal на загрузку страницы без кнопки запуска или с помощью jQuery

Я пытаюсь запустить Bootstrap modal при загрузке страницы, не запуская кнопку HTML или используя jQuery.

Здесь мой код:

<link rel="stylesheet" href="#" onclick="location.href='https://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css'; return false;">
<link rel="stylesheet" href="#" onclick="location.href='https://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap-theme.min.css'; return false;">
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>

<div id="my-modal" class="modal fade">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title">Title</h4>
            </div>
            <div class="modal-body">
                Hello World!
            </div>
        </div>
    </div> 
</div>

Это работает, когда вы вызываете

$('#my-modal').modal('show');

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

Демо: Fiddle

4b9b3361

Ответ 1

Создайте класс CSS для .modal и добавьте display:block. Также давайте класс in для модального div.

Рабочий демонстрационный пример

CSS

.modal {
  display:block;
}

HTML

<div id="my-modal" class="modal fade in">

Изменить: По умолчанию функция закрытия по умолчанию не будет работать, вам нужно добавить для нее пользовательский script.

Ответ 2

Вы можете использовать функцию загрузки страницы

<link rel="stylesheet" href="https://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
<link rel="stylesheet" href="https://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap-theme.min.css">
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>

<body onLoad="$('#my-modal').modal('show');">
    <div id="my-modal" class="modal fade">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title">Title</h4>
                </div>
                <div class="modal-body">
                    Hello World!
                </div>
            </div>
        </div> 
    </div>
</body>

Ответ 3

Я потратил некоторое время, пытаясь приспособиться к этому, и обнаружил, что это отлично работает для моих нужд, которое включает одну страницу входа... Очевидно, что это не законченная статья, а отличная база, с которой я мог начать. Надеюсь, что это кому-то полезно...

<body style="background: #555;">
    <!-- Modal -->
    <div class="modal-dialog" style="margin-top: 20%;">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                <h4 class="modal-title">Modal title</h4>
            </div>
            <div class="modal-body">
                <p>One fine body…</p>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                <button type="button" class="btn btn-primary">Save changes</button>
            </div>
        </div><!-- /.modal-content -->
    </div>
</body>

Ответ 4

В бутстрапе 4 -

Добавьте класс show к вашему модальному

<div class="modal fade show" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">

и после css -

.modal {
    display:block;
  }

Ответ 5

<div id="modal1" class="modal" data-show role="dialog">

data-show поможет вам

Ответ 6

Просто добавьте

<script>
$(document).ready(function(){
$('#my-modal').modal('show');
});
</script>