Je ne connais pas du tout javascript. La documentation de bootstrap dit de
Appelez le modal via javascript: $ ('# myModal'). Modal (options)
Je ne sais pas comment appeler cela sur un chargement de page. En utilisant le code fourni sur la page de démarrage, je peux appeler avec succès le modal sur un clic d'élément, mais je veux qu'il se charge immédiatement lors du chargement d'une page.
javascript
html
twitter-bootstrap
Brandon
la source
la source
Réponses:
Enveloppez simplement le modal que vous souhaitez appeler lors du chargement de la page dans un
load
événement jQuery dans la section d'en-tête de votre document et il devrait apparaître, comme ceci:JS
HTML
Vous pouvez toujours appeler le modal dans votre page avec en l'appelant avec un lien comme ceci:
la source
$(document).ready( ...
. Il ne fonctionne que sur l'événement de chargement de la fenêtre:$(window).load( ...
.$(document).ready( ...
lorsque je stocke ce script dans un MVC PartialView pour mon Modal qui est ajouté dynamiquement lorsqu'un utilisateur clique sur quelque chose, c'est peut-être pourquoi. Ironiquement, votre avertissement de ne pas faire m'a permis de comprendre comment le faire fonctionner pour moi. Donc merci? :)Vous n'avez pas besoin
javascript
d'afficher le modalLe moyen le plus simple est de remplacer "masquer" par "dans"
alors
et vous devez ajouter un
onclick = "$('.modal').hide()"
bouton de fermeture;PS: Je pense que la meilleure façon est d'ajouter un script jQuery:
la source
Ajoutez simplement ce qui suit-
Exemple de travail-
la source
onclick = "$('.modal').removeClass('show').addClass('fade');"
Vous pouvez essayer ce code exécutable-
Plus d'informations peuvent être trouvées ici .
Pensez que vous avez votre réponse complète.
la source
concernant ce qu'André Ilich dit que vous devez ajouter le script js après la ligne dans ce que vous appelez le jquery:
dans mon cas, c'était le problème j'espère que ça aide
la source
Dans mon cas, l'ajout de jQuery pour afficher le modal n'a pas fonctionné:
Ce qui semblait être dû au fait que le modal avait l'attribut aria-hidden = "true":
La suppression de cet attribut était nécessaire ainsi que la requête jQuery ci-dessus:
Notez que j'ai essayé de changer les classes modales de
modal fade
àmodal fade in
, et cela n'a pas fonctionné. De plus, changer les classes demodal fade
en amodal show
empêché le modal de pouvoir être fermé.la source
Voici une solution [sans initialisation javascript!]
Je ne pouvais pas trouver un exemple sans initialiser votre modal avec javascript,
$('#myModal').modal('show')
donc voici une suggestion sur la façon de l'implémenter sans retard javascript au chargement de la page.<div class="modal in" id="MyModal" tabindex="-1" role="dialog" style="display: block; padding-right: 17px;">
Modifiez votre corps avec classe et style:
<body class="modal-open" style="padding-right:17px;">
Ajouter une division de fond modal
<div class="modal-backdrop in"></div>
Ajouter un script
Ce qui se passera, c'est que le code HTML de votre modal sera chargé au chargement de la page sans aucun javascript, (sans délai). À ce stade, vous ne pouvez pas fermer le modal, c'est pourquoi nous avons le script document.ready, pour charger correctement le modal lorsque tout est chargé. Nous allons en fait supprimer le code personnalisé, puis initialiser le modal, (encore), avec le .modal ('show').
la source
Vous pouvez activer le modal sans écrire de JavaScript simplement via des attributs de données.
L'option "show" définie sur true affiche le modal une fois initialisé:
la source
Comme d'autres l'ont mentionné, créez votre modal avec display: block
Placez la toile de fond n'importe où sur votre page, elle n'a pas nécessairement besoin d'être en bas de la page
Ensuite, pour pouvoir refermer la boîte de dialogue, ajoutez ceci
J'espère que cela t'aides
la source
Testé avec Bootstrap 3 et jQuery (2.2 et 2.3)
https://jsfiddle.net/d7utnsbm/
la source
Vous pouvez l'afficher au démarrage même sans Javascript. Supprimez simplement la classe "hide".
la source
En plus des réponses de user2545728 et Reft, sans javascript mais avec le
modal-backdrop in
3 choses à ajouter
modal-backdrop in
avant la classe .modalstyle="display:block;"
à la classe .modalfade in
avec la classe .modalExemple
la source
Mise à jour 2020 - Bootstrap 4
Le balisage modal a légèrement changé pour Bootstrap 4. Voici comment vous pouvez ouvrir le modal au chargement de la page, et éventuellement retarder l'affichage du modal ...
Démo sur Codeply
la source
Dans bootstrap 3, il vous suffit d'initialiser le modal via js et si au moment du chargement de la page, le balisage modal est dans la page, le modal apparaîtra.
Dans le cas où vous souhaitez empêcher cela, utilisez l'option
show: false
où vous initialisez le modal. Quelque chose comme ça:$('.modal').modal({ show: false })
la source
Vous voudrez peut-être conserver
jquery.js
différé pour un chargement de page plus rapide. Cependant, s'iljquery.js
est différé, il$(window).load
peut ne pas fonctionner. Ensuite, vous pouvez essayersetTimeout(function(){$('#myModal').modal('show');},3000);
il affichera votre modal une fois la page complètement chargée (y compris jquery)
la source
Pour éviter que le bootstrap ne soit annulé et perdre sa fonctionnalité, il suffit de créer un bouton de lancement normal, de lui fournir un identifiant et de «cliquer dessus» en utilisant jquery, comme ceci: Le bouton de lancement:
Le déclencheur jQuery:
J'espère que ça aide. À votre santé!
la source
Exemple simple Faire un chargeur spinner d'un modal bootstrap
la source