Estoy tratando de hacer un "widget" dentro de una pantalla de inicio. Y este "widget" mostrará mensajes dependiendo de las acciones del usuario con él.
No quiero volver a cargar toda la página, ya que puede haber otro "widget" con información del usuario que no he terminado de completar. Así que lo he estado haciendo haciendo una carga.
$('#user_credit .card-body #message').load(' #user_credit .card-body #message');Ahora con este código aparece el flash, ya sea que se ha hecho correctamente o si ha habido algún error.
El problema es que este mensaje no desaparece automáticamente.
Conseguí que desaparezca usando un temporizador en JS.
setTimeout(() => { $("#message").attr('style', 'display:none') }, 2000);Pero ahora no vuelve a aparecer. Así que tuve que agregar otro temporizador.
setTimeout(() => { $("#message").attr('style', 'display:block') }, 100);Al final el código es así:
$('#user_credit .card-body #message').load(' #user_credit .card-body #message'); setTimeout(() => { $("#message").attr('style', 'display:block') }, 100); setTimeout(() => { $("#message").attr('style', 'display:none') }, 2000);Con todo esto funciona correctamente. Pero mi duda es, si recargar manualmente sin todo ese código funciona, es decir aparece y desaparece, como puedo hacer que aparezca y desaparezca sin usar los temporizadores.
Muchas gracias por adelantado.
Disculpe mi ingles estoy usando el traductor de google
Si uso recargar funciona, pero esto recarga toda la página.
location.reload();use $(document).ready(); :
$(document).ready(function(){ $("#message").attr('style', 'display:block'); });configurará display:block para el mensaje cada vez que el documento se cargue por completo.