Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Cómo hacer un preloader

Estas en el tema de Cómo hacer un preloader en el foro de Frameworks JS en Foros del Web. Buenas, Me gustaría cargar unos datos de una página web y mientras se cargan me gustaría mostrar el tipico mensaje de cargando. Lo he probado ...
  #1 (permalink)  
Antiguo 30/07/2010, 09:02
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Cómo hacer un preloader

Buenas,

Me gustaría cargar unos datos de una página web y mientras se cargan me gustaría mostrar el tipico mensaje de cargando.

Lo he probado de muchas maneras pero no consigo que funcione correctamente.

Podéis decirme que hago mal?

Código Javascript:
Ver original
  1. <html>
  2. <head>
  3. <title>PRELOADER 1</title>
  4. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
  5. <style>
  6.  
  7.  
  8. </style>
  9. <script language="javascript">
  10.  
  11. $('#boton_cargar').click(function(){
  12.     $("#seccion").load("pagina-lenta.php",function(){
  13.         $('#loading').fadeOut('slow', function() {
  14.             $(this).remove();
  15.         });
  16.     });
  17. });
  18.  
  19.  
  20. $('#loading')
  21.     .hide()  // hide it initially
  22.     .ajaxStart(function() {
  23.         $(this).fadeIn('slow')
  24.         $(this).animate({opacity: 1.0}, 3000)
  25.     })
  26.     .ajaxStop(function() {
  27.         $(this).fadeOut('slow', function() {
  28.             $(this).remove();
  29.         });
  30. });
  31. </script>
  32. </head>
  33. <body>
  34.  
  35. <div id="loading">Cargando.....</div>
  36.  
  37. <a href="#" id="boton_cargar">Cargar datos</a>
  38. <div id="seccion"></div>
  39.  
  40.  
  41. </body>
  42. </html>

Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 30/07/2010, 09:40
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Cómo hacer un preloader

Qué opináis de esta forma?

Es funcional

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <style type="text/css">
  5.     body, h1 {
  6.         font-family: Verdana, Arial, Helvetica, sans-serif;
  7.         font-size: 0.8em;
  8.     }
  9.     a {
  10.         text-decoration: none; 
  11.         color: #333;
  12.     }
  13.     a:hover {
  14.         color: #ff0000;
  15.     }
  16.    
  17.     #ajax-content {
  18.         height: auto;
  19.         width: 400px;
  20.         border: 5px solid #ccc;
  21.         margin: 0 auto;
  22.         padding: 10px;
  23.     }
  24.     #loading {
  25.         width: 66px;
  26.         margin: 0 auto;
  27.     }
  28. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  29.  
  30.  
  31. $(document).ready(function(){
  32.     $("#loading").css("display", "none");
  33.     $("#ajax-content").css("display", "none");
  34.     $("#enlaceajax").click(function(evento){
  35.       evento.preventDefault();
  36.       $("#loading").css("display", "inline");
  37.       $("#ajax-content").css("display", "none");
  38.       $("#ajax-content").load("test.php", function(){
  39.          $("#loading").css("display", "none");
  40.          $("#ajax-content").css("display", "block");
  41.       });
  42.    });
  43. })
  44. <title>PRELOADER 2</title>
  45. </head>
  46.  
  47. <a href="#" id="enlaceajax">Haz clic!</a>
  48.         <div id="loading">
  49.             <img src="generator.php.gif" alt="content is loading" width="100" height="100" />
  50.         </div>
  51.        
  52.         <div id="ajax-content"></div>
  53. </body>
  54. </html>
  #3 (permalink)  
Antiguo 30/07/2010, 12:52
 
Fecha de Ingreso: junio-2008
Ubicación: Colombia
Mensajes: 207
Antigüedad: 15 años, 10 meses
Puntos: 12
Respuesta: Cómo hacer un preloader

Código:
$('#miBoton').click(function(){

$('#divContenedorAjax').html('<img src='img/preloader.gif' alt='cargando'/> Cargando... ');


$('#divContenedorAjax').load('paginaDatos.php');

return false;

});
Inicialmente colocamos algun trozo de codigo html dentro del contenedor en este caso la imagen del preloader la cual debe existir previamente, despues hacemos un load a ese contenedor, este load me reemplazara el preloader que estamos mostrando con el codigo que traemos de la pagina php.
  #4 (permalink)  
Antiguo 30/07/2010, 15:13
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Cómo hacer un preloader

Cita:
Iniciado por Rosencrantz Ver Mensaje
Código:
$('#miBoton').click(function(){

$('#divContenedorAjax').html('<img src='img/preloader.gif' alt='cargando'/> Cargando... ');


$('#divContenedorAjax').load('paginaDatos.php');

return false;

});
Inicialmente colocamos algun trozo de codigo html dentro del contenedor en este caso la imagen del preloader la cual debe existir previamente, despues hacemos un load a ese contenedor, este load me reemplazara el preloader que estamos mostrando con el codigo que traemos de la pagina php.
Woow Rosencrantz! me has dejado O_o! sí que se puede simplificar!

Lo he probado y funciona a la perfección... de la manera que lo hacia yo era complicarse la vida cosa barbara, no?

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.     $("#loading").css("display", "none");
  3.     $("#ajax-content").css("display", "none");
  4.     $("#enlaceajax").click(function(evento){
  5.       evento.preventDefault();
  6.       $("#loading").css("display", "inline");
  7.       $("#ajax-content").css("display", "none");
  8.       $("#ajax-content").load("test.php", function(){
  9.          $("#loading").css("display", "none");
  10.          $("#ajax-content").css("display", "block");
  11.       });
  12.    });
  13. })

Muchas gracias
  #5 (permalink)  
Antiguo 31/07/2010, 07:59
 
Fecha de Ingreso: junio-2008
Ubicación: Colombia
Mensajes: 207
Antigüedad: 15 años, 10 meses
Puntos: 12
Respuesta: Cómo hacer un preloader

A veces nos complicamos más de lo necesario, pero lo importante es aprender y tener ganas, me alegra que te haya servido.

Saludos.
  #6 (permalink)  
Antiguo 23/12/2010, 06:58
 
Fecha de Ingreso: marzo-2009
Mensajes: 62
Antigüedad: 15 años
Puntos: 0
Respuesta: Cómo hacer un preloader

A mi no me funciona :(

Me sale un cuadro blanco nada mas, no se entiende el código :(
  #7 (permalink)  
Antiguo 23/12/2010, 09:34
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 4 meses
Puntos: 65
Respuesta: Cómo hacer un preloader

Cita:
Iniciado por jvmjunior Ver Mensaje
A mi no me funciona :(
debe ser por las comillas en los atributos de img cambialas a dobles o el de apertura a dobles y los atributos a simples

proba asi

Código HTML:
Ver original
  1.     <head>
  2.         <title>Ejemplo</title>
  3.         <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script><script>
  4.         $(function(){
  5.             $('button').click(function(){
  6.                 $('body').html('<b>Cargando...</b>').load('pagina.html');
  7.                 return false;
  8.             });
  9.         });
  10.         </script>
  11.     </head>
  12.     <body>
  13.         <button>Click</button>
  14.     </body>
  15. </html>

Etiquetas: preloader
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 11:35.