Foros del Web » Programando para Internet » Jquery »

Como mostra un preloader mientras carga una pagina.

Estas en el tema de Como mostra un preloader mientras carga una pagina. en el foro de Jquery en Foros del Web. Hola amigos, pues tengo una pagina que realiza varias consultas a mi bd, y después los va mostrando en un tabla, el asunto es que ...
  #1 (permalink)  
Antiguo 23/07/2015, 17:55
 
Fecha de Ingreso: junio-2010
Ubicación: Puebla, Pue.
Mensajes: 70
Antigüedad: 13 años, 10 meses
Puntos: 1
Como mostra un preloader mientras carga una pagina.

Hola amigos, pues tengo una pagina que realiza varias consultas a mi bd, y después los va mostrando en un tabla, el asunto es que por razonas ajenas mientras carga toda la info en un tabla html tarda unos segundos este proceso.

Quisiera poder mostrar un preloader (que no se si así se le llame en realidad) o bloquear la interfaz mientras termina de cargar los datos a mi tabla pero npo he podido conseguirlo.

1o Lo intente tratando de mostrar un gif pero al entrar a la pagina primero carga la tabla y despues muestra el gif:

Código Javascript:
Ver original
  1. <style type="text/css">
  2.  
  3.   #pre-load-web {width:100%;position:absolute;background:#92def8;left:0px;top:0px;z-index:100000}
  4.   #pre-load-web #imagen-load{left:50%;margin-left:-30px;position:absolute}
  5. </style>
  6.  
  7. <script>
  8.         $(document).ready(function(){
  9.  
  10.         $("body").css({"overflow-y":"hidden"});
  11.         var alto=$(window).height();
  12.         $("body").append("<div id='pre-load-web'><div id='imagen-load'><img src='http://preloaders.net/preloaders/359/Filling%20circles.gif'  /><br />Cargando...</div>");
  13.         $("#pre-load-web").css({height:alto+"px"});
  14.         $("#imagen-load").css({"margin-top":(alto/2)-30+"px"});
  15.         })
  16.  
  17.         $(window).load(function(){
  18.            $("#pre-load-web").fadeOut(1000,function()
  19.            {
  20.                //eliminamos la capa de precarga
  21.                $(this).remove();
  22.                //permitimos scroll
  23.                $("body").css({"overflow-y":"auto"});
  24.  
  25.            });        
  26.         })
  27. </script>

2o con un plugin jQuery BlockUI:
Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.    
  3.         $.blockUI();
  4.         $('.blockOverlay').attr('title','Click to unblock').click($.unblockUI);
  5. }

Pero lo mismo primero se ve como se ve cargando el contenido de la tabla.

No se si haya algo que no este entendiendo bien o como hago para que al cargar la pagina lo primero que haga es mostrar un preloader?

De antemano gracias!
  #2 (permalink)  
Antiguo 25/07/2015, 12:30
(Desactivado)
 
Fecha de Ingreso: abril-2015
Ubicación: España
Mensajes: 616
Antigüedad: 9 años
Puntos: 74
Respuesta: Como mostra un preloader mientras carga una pagina.

¿Y por qué no pruebas de mostrar el gif animado cuando se haga click en el enlace que lleva a la página que hace consultas en la bd?

Código HTML:
Ver original
  1. <a href="pagina_pesada.php">Mi enlace</a>
  2. <div id="wait" style="top:25%;left:0%;width:100%;text-align:center;display:none;position:fixed">
  3.       <img style="background:white;border:1px solid black;" src="/images/loading.gif" alt="loading" />
  4. </div>
  5.     $("a").click(function(){
  6.         $("#wait").css("display", "block");
  7.     });
  #3 (permalink)  
Antiguo 26/07/2015, 13:54
Avatar de Drako_18  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 505
Antigüedad: 18 años, 11 meses
Puntos: 16
Respuesta: Como mostra un preloader mientras carga una pagina.

Buenas compañero,

Has probado a mostrar ese loading... Justo cuando le haces click al botón/enlace?

Por la aplicación, tenemos un iframe (que en teoría, están "prohibidos") y en la página principal, tenemos el jQuery, que mira en todos los elementos con atributo href o evento OnClick y si tienen una url, a lo que ya tiene, le añadimos la funcionalidad de mostrar el "Loading"...
Y siempre, lo tenemos que hacer al hacer click, si lo haces en el load del destino, se ejecutará cuando termine de cargar la página de destino..

Resumiendo, prueba a hacer lo que te dijo #superweb360, es lo que debería funcionar...

Otra cosa, he visto que tienes todo el JS y las <meta> en el body, deberían estar en el la cabecera (no es obligatorio, porque como ves, funcionan).


Un saludo compañero!!
__________________
Rubén Espada
Desarrollador full stack .Net (Angular + JS + .Net Core)

Etiquetas: html, javascript, mientras, preloader, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:14.