Estoy usando el marco CSS bootstrap de Twitter (que es fantástico). Para algunos mensajes a los usuarios, los estoy mostrando usando las alertas Javascript JS y CSS.
Para aquellos interesados, se puede encontrar aquí: http://getbootstrap.com/javascript/#alerts
Mi problema es este; después de mostrar una alerta a un usuario, me gustaría que desapareciera después de un intervalo de tiempo. Según los documentos de Twitter y el código que he revisado, parece que esto no está integrado:
- Mi primera pregunta es una solicitud de confirmación de que esto NO está incluido en Bootstrap
- En segundo lugar, ¿cómo puedo lograr este comportamiento?
javascript
jquery
css
twitter-bootstrap
alert
Mario Zigliotto
fuente
fuente
Respuestas:
Llamar
window.setTimeout(function, delay)
le permitirá lograr esto. Aquí hay un ejemplo que cerrará automáticamente la alerta 2 segundos (o 2000 milisegundos) después de que se muestre.Si desea envolverlo en una función ingeniosa, puede hacer esto.
Entonces podrías usarlo así ...
Estoy seguro de que hay formas más elegantes de lograrlo.
fuente
$('#myAlert').alert('close')
, no funciona como se anuncia.$('#my_fancy_alert').createAutoClosingAlert(2000)
. Solo necesitas pasar$(this).remove()
o$(this).alert('close')
entrarsetTimeout
devolución de llamada.Tampoco pude hacer que funcione con alert. ('Close').
¡Sin embargo, estoy usando esto y funciona de maravilla! La alerta desaparecerá después de 5 segundos y, una vez desaparecida, el contenido que se encuentra debajo se deslizará hasta su posición natural.
fuente
.alert-message
? Tiene problemas, la clase de mi alerta de BS3 esalert alert-danger alert-block
, por lo que debe utilizar.alert
,alert-danger
o el nombre completo de la clase en la función de tiempo de espera?$(".alert-message,.alert-danger,.alert-info")
y así sucesivamente. Tienes que averiguar si lo quieres en todo tu sitio web o no. Si lo quieres en cada página, por ejemplo, en la hoja de Laravel puedes usar algo como @include ('scripts-alerts') o @yield ('alertas'). Tienes que averiguar o hacer una pregunta específica en stackoverflow y no aquí ...Tuve el mismo problema al intentar manejar las alertas emergentes y desvanecerlas. Busqué en varios lugares y encontré que esta era mi solución. Agregar y eliminar la clase 'en' solucionó mi problema.
Al usar .remove () y, de manera similar, la solución .alert ('close'), me pareció que tuve un problema con la eliminación de la alerta del documento, por lo que si quería usar el mismo div de alerta nuevamente, no podía hacerlo. Esta solución significa que la alerta es reutilizable sin actualizar la página. (Estaba usando aJax para enviar un formulario y presentar comentarios al usuario)
fuente
Usar la acción 'cerrar' en la alerta no funciona para mí, porque elimina la alerta del DOM y necesito la alerta varias veces (estoy publicando datos con ajax y le muestro un mensaje al usuario en cada publicación) . Así que creé esta función que crea la alerta cada vez que la necesito y luego inicia un temporizador para cerrar la alerta creada. Paso a la función el id del contenedor al que quiero agregar la alerta, el tipo de alerta ('éxito', 'peligro', etc.) y el mensaje. Aquí está mi código:
fuente
Esta es la versión coffescript:
fuente
Con cada una de las soluciones anteriores, seguí perdiendo la capacidad de reutilización de la alerta. Mi solución fue la siguiente:
En la carga de la página
Una vez que se necesitaba mostrar la alerta
Tenga en cuenta que fadeTo establece la opacidad en 0, por lo que la pantalla no era ninguna y la opacidad era 0, por lo que eliminé mi solución.
fuente
Después de repasar algunas de las respuestas aquí y en otro hilo, esto es lo que terminé con:
Creé una función llamada
showAlert()
que agregaría dinámicamente una alerta, con un opcionaltype
ycloseDealy
. Para que pueda, por ejemplo, agregar una alerta de tipodanger
(es decir, alerta-peligro de Bootstrap) que se cerrará automáticamente después de 5 segundos así:Para lograrlo, agregue la siguiente función de Javascript:
fuente
Necesitaba una solución muy simple para ocultar algo después de un tiempo y logré que esto funcionara:
En angular puedes hacer esto:
Aquí está la función a la que llamo cuando se ha alcanzado el tiempo de espera
Así que ahora mi diálogo / ui puede usar esas propiedades para ocultar elementos.
fuente
Con retraso y desvanecimiento:
fuente
prueba este
fuente