Ich kenne Javascript überhaupt nicht. Die Bootstrap-Dokumentation sagt zu
Rufen Sie das Modal über Javascript auf: $ ('# myModal'). Modal (Optionen)
Ich habe keine Ahnung, wie ich das beim Laden einer Seite aufrufen soll. Mit dem auf der Bootstrap-Seite angegebenen Code kann ich das Modal bei einem Elementklick erfolgreich aufrufen, möchte aber, dass es beim Laden einer Seite sofort geladen wird.
javascript
html
twitter-bootstrap
Brandon
quelle
quelle
Antworten:
Schließen Sie einfach das Modal, das Sie beim Laden der Seite aufrufen möchten, in ein jQuery-
load
Ereignis im Kopfbereich Ihres Dokuments ein, und es sollte wie folgt angezeigt werden:JS
HTML
Sie können das Modal innerhalb Ihrer Seite weiterhin mit aufrufen, indem Sie es mit einem Link wie folgt aufrufen:
quelle
$(document).ready( ...
. Es funktioniert nur beim Fensterladeereignis :$(window).load( ...
.$(document).ready( ...
wenn ich dieses Skript in einer MVC PartialView für mein Modal speichere, die dynamisch hinzugefügt wird, wenn ein Benutzer auf etwas klickt. Vielleicht ist das der Grund. Ironischerweise erlaubte mir Ihre Warnung, was ich nicht tun sollte, herauszufinden, wie ich es für mich arbeiten lassen kann. So danke? :)Du brauchst nicht
javascript
modal zeigenDer einfachste Weg ist, "verstecken" durch "in" zu ersetzen.
so
und du musst hinzufügen
onclick = "$('.modal').hide()"
Schaltfläche zum .PS: Ich denke, der beste Weg ist, ein jQuery-Skript hinzuzufügen:
quelle
Fügen Sie einfach Folgendes hinzu:
Arbeitsbeispiel-
quelle
onclick = "$('.modal').removeClass('show').addClass('fade');"
Sie können diesen ausführbaren Code ausprobieren.
Mehr finden Sie hier .
Denken Sie, Sie haben Ihre vollständige Antwort.
quelle
In Bezug auf das, was Andre's Ilich sagt, müssen Sie das js-Skript nach der Zeile in der so genannten jquery hinzufügen:
In meinem Fall war das das Problem, hoffe es hilft
quelle
In meinem Fall hat das Hinzufügen von jQuery zur Anzeige des Modals nicht funktioniert:
Das schien daran zu liegen, dass das Modal das Attribut aria-hidden = "true" hatte:
Das Entfernen dieses Attributs sowie der obigen jQuery war erforderlich:
Beachten Sie, dass ich versucht habe, die Modalklassen von auf
modal fade
zu ändernmodal fade in
, und das hat nicht funktioniert. Durch das Ändern der Klassen vonmodal fade
in wurde verhindertmodal show
, dass das Modal geschlossen werden kann.quelle
Hier ist eine Lösung [ohne Javascript-Initialisierung!]
Ich konnte kein Beispiel finden, ohne Ihr Modal mit Javascript zu initialisieren. Hier ist
$('#myModal').modal('show')
ein Vorschlag, wie Sie es ohne Javascript-Verzögerung beim Laden der Seite implementieren können.<div class="modal in" id="MyModal" tabindex="-1" role="dialog" style="display: block; padding-right: 17px;">
Bearbeiten Sie Ihren Körper mit Klasse und Stil:
<body class="modal-open" style="padding-right:17px;">
Modal-Hintergrund div hinzufügen
<div class="modal-backdrop in"></div>
Skript hinzufügen
Was passieren wird, ist, dass das HTML für Ihr Modal beim Laden der Seite ohne Javascript geladen wird (keine Verzögerung). Zu diesem Zeitpunkt können Sie das Modal nicht schließen. Aus diesem Grund haben wir das Skript document.ready, um das Modal ordnungsgemäß zu laden, wenn alles geladen ist. Wir werden den benutzerdefinierten Code tatsächlich entfernen und dann das Modal (erneut) mit dem .modal ('show') initialisieren.
quelle
Sie können das Modal aktivieren, ohne JavaScript einfach über Datenattribute zu schreiben.
Die auf "true" gesetzte Option "show" zeigt das Modal bei der Initialisierung an:
quelle
Wie andere bereits erwähnt haben, erstellen Sie Ihr Modal mit display: block
Platzieren Sie den Hintergrund an einer beliebigen Stelle auf Ihrer Seite. Er muss sich nicht unbedingt am unteren Rand der Seite befinden
Fügen Sie dies hinzu, um den Dialog wieder schließen zu können
Hoffe das hilft
quelle
Getestet mit Bootstrap 3 und jQuery (2.2 und 2.3)
https://jsfiddle.net/d7utnsbm/
quelle
Sie können es beim Start auch ohne Javascript anzeigen. Löschen Sie einfach die Klasse "verstecken".
quelle
Zusätzlich zu den Antworten von user2545728 und Reft, ohne Javascript, aber mit dem
modal-backdrop in
3 Dinge hinzuzufügen
modal-backdrop in
vor der .modal-Klassestyle="display:block;"
zur .modal Klassefade in
zusammen mit der .modal KlasseBeispiel
quelle
Update 2020 - Bootstrap 4
Das Modal-Markup hat sich für Bootstrap 4 geringfügig geändert. So können Sie das Modal beim Laden der Seite öffnen und optional die Anzeige des Modals verzögern ...
Demo auf Codeply
quelle
In Bootstrap 3 müssen Sie nur das Modal über js initialisieren. Wenn sich im Moment des Seitenladens das Modal-Markup auf der Seite befindet, wird das Modal angezeigt.
Wenn Sie dies verhindern möchten, verwenden Sie die Option, mit der
show: false
Sie das Modal initialisieren. Etwas wie das:$('.modal').modal({ show: false })
quelle
Möglicherweise möchten Sie
jquery.js
für ein schnelleres Laden der Seite zurückgestellt bleiben . Wenn diesjquery.js
jedoch verschoben wird,$(window).load
funktioniert dies möglicherweise nicht. Dann können Sie es versuchensetTimeout(function(){$('#myModal').modal('show');},3000);
Es wird Ihr Modal angezeigt, nachdem die Seite vollständig geladen wurde (einschließlich jquery).
quelle
Um zu vermeiden, dass der Bootstrap übersteuert wird und seine Funktionalität verliert, erstellen Sie einfach eine reguläre Startschaltfläche, geben Sie ihm eine ID und klicken Sie mit jquery darauf, wie folgt: Die Startschaltfläche:
Der jQuery-Trigger:
Ich hoffe es hilft. Prost!
quelle
Einfaches Beispiel Machen Sie einen Loader-Spinner aus einem Bootstrap-Modal
quelle