No sé javascript en absoluto. La documentación de bootstrap dice que
Llame al modal a través de javascript: $ ('# myModal'). Modal (opciones)
No tengo idea de cómo llamar a esto en una carga de página. Utilizando el código suministrado en la página de arranque, puedo llamar con éxito al modal con un clic de elemento, pero quiero que se cargue inmediatamente en una carga de página.
javascript
html
twitter-bootstrap
Brandon
fuente
fuente
Respuestas:
Simplemente envuelva el modal al que desea llamar en la carga de la página dentro de un
load
evento jQuery en la sección principal de su documento y debería aparecer, de esta manera:JS
HTML
Todavía puede llamar al modal dentro de su página con un enlace como este:
fuente
$(document).ready( ...
. Eso sólo será posible en el evento de carga de ventana:$(window).load( ...
.$(document).ready( ...
cuando almaceno este script en un MVC PartialView para mi Modal que se agrega dinámicamente cuando un usuario hace clic en algo, así que tal vez es por eso. Irónicamente, su advertencia de lo que no debe hacer me permitió descubrir cómo hacer que funcione para mí. ¿Así que gracias? :)No necesitas
javascript
mostrar modalLa forma más simple es reemplazar "ocultar" por "en"
entonces
y necesitas agregar
onclick = "$('.modal').hide()"
el botón cerrar;PD: Creo que la mejor manera es agregar script jQuery:
fuente
Solo agregue lo siguiente:
Ejemplo de trabajo
fuente
onclick = "$('.modal').removeClass('show').addClass('fade');"
Puedes probar este código ejecutable
Más se puede encontrar aquí .
Creo que tienes tu respuesta completa.
fuente
con respecto a lo que dice Andre's Ilich, debe agregar el script js después de la línea en lo que llama jquery:
en mi caso ese fue el problema espero que ayude
fuente
En mi caso, agregar jQuery para mostrar el modal no funcionó:
Lo cual parecía ser porque el modal tenía el atributo aria-hidden = "true":
Se necesitaba eliminar ese atributo, así como el jQuery anterior:
Tenga en cuenta que intenté cambiar las clases modales de
modal fade
amodal fade in
, y eso no funcionó. Además, cambiar las clases demodal fade
amodal show
evitó que el modal pudiera cerrarse.fuente
Heres una solución [sin inicialización de JavaScript!]
No pude encontrar un ejemplo sin inicializar su modal con javascript,
$('#myModal').modal('show')
por lo que he aquí una sugerencia sobre cómo podría implementarlo sin retraso de javascript en la carga de la página.<div class="modal in" id="MyModal" tabindex="-1" role="dialog" style="display: block; padding-right: 17px;">
Edita tu cuerpo con clase y estilo:
<body class="modal-open" style="padding-right:17px;">
Agregar modal-backdrop div
<div class="modal-backdrop in"></div>
Agregar guión
Lo que sucederá es que el html para su modal se cargará en la carga de la página sin javascript (sin demora). En este punto, no puede cerrar el modal, por eso tenemos el script document.ready, para cargar el modal correctamente cuando todo está cargado. En realidad, eliminaremos el código personalizado y luego inicializaremos el modal, (nuevamente), con el .modal ('show').
fuente
Puede activar el modal sin escribir ningún JavaScript simplemente a través de atributos de datos.
La opción "mostrar" establecida en verdadero muestra el modal cuando se inicializa:
fuente
Como otros han mencionado, cree su modal con display: block
Coloque el telón de fondo en cualquier lugar de su página, no necesariamente debe estar al final de la página
Luego, para poder cerrar el diálogo nuevamente, agregue esto
Espero que esto ayude
fuente
Probado con Bootstrap 3 y jQuery (2.2 y 2.3)
https://jsfiddle.net/d7utnsbm/
fuente
Puede mostrarlo al inicio incluso sin Javascript. Simplemente elimine la clase "hide".
fuente
Además de las respuestas user2545728 y Reft, sin javascript pero con el
modal-backdrop in
3 cosas para agregar
modal-backdrop in
anteriores a la clase .modalstyle="display:block;"
a la clase .modalfade in
junto con la clase .modalEjemplo
fuente
Actualización 2020 - Bootstrap 4
El marcado modal ha cambiado ligeramente para Bootstrap 4. Así es como puede abrir el modal en la carga de la página y, opcionalmente, retrasar la visualización del modal ...
Demo en Codeply
fuente
En bootstrap 3 solo necesita inicializar el modal a través de js y si en el momento de la carga de la página el marcado modal está en la página, aparecerá el modal.
En caso de que quiera evitar esto, use la opción
show: false
donde inicializa el modal. Algo como esto:$('.modal').modal({ show: false })
fuente
Es posible que desee mantener
jquery.js
diferido para una carga de página más rápida. Sin embargo, sijquery.js
se difiere , es$(window).load
posible que no funcione. Entonces puedes intentarsetTimeout(function(){$('#myModal').modal('show');},3000);
aparecerá su modal después de que la página esté completamente cargada (incluido jquery)
fuente
Para evitar que se anule el bootstrap y se pierda su funcionalidad, simplemente cree un botón de inicio normal, proporciónelo con un Id y haga clic en él usando jquery, así: El botón de inicio:
El desencadenante jQuery:
Espero eso ayude. ¡Salud!
fuente
Ejemplo simple Hacer un cargador de giro de un modal de arranque
fuente