Não conheço javascript. A documentação do bootstrap diz para
Chame o modal via javascript: $ ('# myModal'). Modal (opções)
Não faço idéia de como chamar isso em um carregamento de página. Usando o código fornecido na página de inicialização, posso chamar o Modal com êxito em um clique de elemento, mas quero que ele seja carregado imediatamente em um carregamento de página.
javascript
html
twitter-bootstrap
Brandon
fonte
fonte
Respostas:
Apenas envolva o modal que você deseja chamar no carregamento da página dentro de um
load
evento jQuery na seção head do seu documento e ele deverá aparecer da seguinte maneira:JS
HTML
Você ainda pode chamar o modal em sua página chamando-o com um link da seguinte forma:
fonte
$(document).ready( ...
. Ele só vai funcionar no evento de carregamento de janela:$(window).load( ...
.$(document).ready( ...
quando eu armazeno esse script em um MVC PartialView para o meu Modal que é adicionado dinamicamente quando um usuário clica em algo, talvez seja por isso. Ironicamente, seu aviso do que não fazer me permitiu descobrir como fazê-lo funcionar para mim. Então obrigado? :)Você não precisa
javascript
mostrar modalA maneira mais simples é substituir "ocultar" por "em"
tão
e você precisa adicionar o
onclick = "$('.modal').hide()"
botão fechar;PS: Eu acho que a melhor maneira é adicionar o script jQuery:
fonte
Basta adicionar o seguinte-
Exemplo de trabalho-
fonte
onclick = "$('.modal').removeClass('show').addClass('fade');"
Você pode tentar este código executável
Mais pode ser encontrado aqui .
Pense que você tem sua resposta completa.
fonte
sobre o que Ilich de Andre diz que você precisa adicionar o script js após a linha no que chama de jquery:
no meu caso, esse foi o problema, espero que ajude
fonte
No meu caso, adicionar jQuery para exibir o modal não funcionou:
O que parecia ser porque o modal tinha o atributo aria-hidden = "true":
A remoção desse atributo foi necessária, bem como o jQuery acima:
Observe que eu tentei alterar as classes modais de
modal fade
paramodal fade in
e isso não funcionou. Além disso, alterar as classes demodal fade
paramodal show
impediu que o modal pudesse ser fechado.fonte
Heres uma solução [sem inicialização javascript!]
Não consegui encontrar um exemplo sem inicializar seu modal com javascript,
$('#myModal').modal('show')
portanto, aqui está uma sugestão de como você pode implementá-lo sem atraso no carregamento da página.<div class="modal in" id="MyModal" tabindex="-1" role="dialog" style="display: block; padding-right: 17px;">
Edite seu corpo com classe e estilo:
<body class="modal-open" style="padding-right:17px;">
Adicionar div modal-backdrop
<div class="modal-backdrop in"></div>
Adicionar script
O que acontecerá é que o html do seu modal será carregado no carregamento da página sem javascript (sem demora). Neste ponto, você não pode fechar o modal, por isso temos o script document.ready, para carregar o modal corretamente quando tudo estiver carregado. Na verdade, removeremos o código personalizado e inicializaremos o modal (novamente) com o .modal ('show').
fonte
Você pode ativar o modal sem escrever JavaScript simplesmente por meio de atributos de dados.
A opção "show" configurada como true mostra o modal quando inicializado:
fonte
Como outros já mencionaram, crie seu modal com display: block
Coloque o pano de fundo em qualquer lugar da sua página, pois ele não precisa estar necessariamente na parte inferior da página
Em seguida, para poder fechar a caixa de diálogo novamente, adicione este
Espero que isto ajude
fonte
Testado com Bootstrap 3 e jQuery (2.2 e 2.3)
https://jsfiddle.net/d7utnsbm/
fonte
Você pode mostrá-lo no início, mesmo sem Javascript. Basta excluir a classe "ocultar".
fonte
Além das respostas do usuário2545728 e Reft, sem javascript, mas com o
modal-backdrop in
3 coisas a acrescentar
modal-backdrop in
antes da classe .modalstyle="display:block;"
para a classe .modalfade in
junto com a classe .modalExemplo
fonte
Atualização 2020 - Bootstrap 4
A marcação modal mudou ligeiramente para o Bootstrap 4. Veja como você pode abrir o modal no carregamento da página e, opcionalmente, atrasar a exibição do modal ...
Demonstração sobre Codeply
fonte
No bootstrap 3, você só precisa inicializar o modal por meio de js e se no momento da página carregar a marcação modal estiver na página, o modal será exibido.
Caso deseje evitar isso, use a opção em
show: false
que você inicializa o modal. Algo assim:$('.modal').modal({ show: false })
fonte
Você pode querer
jquery.js
adiar para um carregamento mais rápido da página. No entanto, sejquery.js
for adiado,$(window).load
pode não funcionar. Então você pode tentarsetTimeout(function(){$('#myModal').modal('show');},3000);
ele exibirá seu modal depois que a página for completamente carregada (incluindo jquery)
fonte
Para evitar que o bootstrap seja anulado e perca sua funcionalidade, basta criar um botão de inicialização regular, fornecer um ID e 'clicar nele' usando jquery, assim: O botão de inicialização:
O gatilho jQuery:
Espero que ajude. Felicidades!
fonte
Exemplo simples Faça um girador de carregador de um modal de bootstrap
fonte