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

no funciona "cargando...."

Estas en el tema de no funciona "cargando...." en el foro de Frameworks JS en Foros del Web. Buenas, estoy intentando hacer el famoso "cargando...." pero no logro hacerlo andar como quiero, ahora lo único que haces es mostrarme el efecto siempre, y ...
  #1 (permalink)  
Antiguo 07/10/2009, 13:35
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 6 meses
Puntos: 43
no funciona "cargando...."

Buenas, estoy intentando hacer el famoso "cargando...." pero no logro hacerlo andar como quiero, ahora lo único que haces es mostrarme el efecto siempre, y no desaparece ni me oculta toda la pagina. En que le estoy errando jeje

el codigo del js es:
Código javascripts:
Ver original
  1. $(document).ready(function(){
  2.    $("#preloader").css("display","none");
  3.    $("#wrapper").css("display","block");
  4. });
  5. $(function() {                  
  6.             $("#dialog").dialog({
  7.                 bgiframe: true,
  8.                 autoOpen: false,
  9.                 resizable: false,
  10.                 height:140,
  11.                 modal: true,
  12.                 overlay: {
  13.                     backgroundColor: '#000',
  14.                     opacity: 0.5
  15.                 },
  16.                 buttons: {
  17.                     'Si': function() {
  18.                         var url =$('#delete').attr("href");                    
  19.                         location.href=url;                     
  20.                     },
  21.                     'Cancelar': function() {
  22.                         $(this).dialog('close');
  23.                     }
  24.                 }
  25.             });                    
  26.  
  27.             $('#delete').bind("click", function(){  
  28.                $('#dialog').dialog('open');  
  29.                return false;
  30.             });  
  31.            
  32.             $('#mensaje').click(function(){              
  33.                  $("#mensaje").slideUp();          
  34.             });
  35.            
  36.            
  37. });

mi css es:
Código css:
Ver original
  1. /* Basic  ---------------------------------------- */
  2.  
  3. .clear { clear: both; }
  4.  
  5. body {
  6.     background: white;
  7.     font-family: Arial, Helvetica, sans-serif;
  8.     font-size: 12px;
  9.     color: #646464;
  10.     text-align: center;
  11. }
  12.  
  13. #wrapper {
  14.     text-align: left;
  15.     width: 930px;
  16.     margin: 0 auto;
  17.     display: none;
  18. }
  19.  
  20. #preloader{                            
  21.     top: 0; right: 10px;
  22.     position:relative;
  23.     z-index:10;
  24.     width: 132px; height: 38px;
  25.     background: url(../images/loading.gif) no-repeat;
  26.     cursor: wait;
  27.     text-shadow: 0px 1px 0px #fefefe;  //webkit
  28.                              
  29. }

y mi html es:
Código html:
Ver original
  1. <?php
  2. /**
  3. * header.php
  4. */
  5. ?>
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  7. <html xmlns="http://www.w3.org/1999/xhtml">
  8. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  9. <title>Administración - Websa100</title>
  10. <link rel="shortcut icon" href="images/favicon.ico" />
  11. <!-- CSS -->
  12. <link href="<? echo CSS;?>transdmin.css" rel="stylesheet" type="text/css" media="screen" />
  13. <!--[if IE 6]><link rel="stylesheet" type="text/css" media="screen" href="<? echo CCS;?>ie6.css" /><![endif]-->
  14. <!--[if IE 7]><link rel="stylesheet" type="text/css" media="screen" href="<? echo CS;?>ie7.css" /><![endif]-->
  15.  
  16. <!-- JavaScripts-->
  17. <script type="text/javascript" src="<? echo JS;?>jquery.js"></script>
  18. <script type="text/javascript" src="<? echo JS;?>jNice.js"></script>
  19.  
  20. <link type="text/css" href="<? echo CSS;?>ui-lightness/jquery-ui-1.7.2.custom.css" rel="stylesheet" /> 
  21. <script type="text/javascript" src="<? echo JS;?>jquery-1.3.2.min.js"></script>
  22. <script type="text/javascript" src="<? echo JS;?>jquery-ui-1.7.2.custom.min.js"></script>
  23. <script type="text/javascript" src="<? echo JS;?>ui.dialog.js" ></script>  
  24. <script type="text/javascript" src="<? echo JS;?>ui.core.js" ></script>  
  25. <script type="text/javascript" src="<? echo JS;?>funciones.js" ></script>
  26.  
  27.  
  28.  
  29. </head>
  30.  
  31.     <div id="preloader">Cargando... Espere Por Favor</div>
  32.     <div id="wrapper">         
  33.         <!-- h1 tag stays for the logo, you can use the a tag for linking the index page -->
  34.         <h1><a href="#" title="Websa100"><span>Websa100</span></a></h1>

desde ya muchas gracias
  #2 (permalink)  
Antiguo 07/10/2009, 13:58
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: no funciona "cargando...."

Mensaje movido al foro de Frameworks desde Javascript.

Saludos,
  #3 (permalink)  
Antiguo 08/10/2009, 11:07
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: no funciona "cargando...."

Proba en principio con esto otro:

$("#preloader").hide();

Pero va a estar muy poquito tiempo en pantalla porque document ready es muy veloz.

Un comentario fuera de tema: es mejor habituarse a usar la etiqueta <?php completa, en vez de solamente usar <?
  #4 (permalink)  
Antiguo 09/10/2009, 09:11
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 6 meses
Puntos: 43
Respuesta: no funciona "cargando...."

hola mayid,
y hay forma de retrasar el efecto porque he notado que solo lo muestra cuando mando un formulario o entra a una seccion de mi pagina que demora en cargar, pero cuando son links simples que no tienen nada de peso no se ve el efecto.
Desde ya muchas gracias
  #5 (permalink)  
Antiguo 10/10/2009, 12:18
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: no funciona "cargando...."

Podes retrasarlo con setTimeOut( foo , 5000);

Ej:

setTimeout('$("#telon").fadeTo(700,.1)',3000);

Esto dispara la funcion a los 3 segundos de haber empezado el document.ready. Ademas, el fade tarda .7 segs en ejecutarse.
  #6 (permalink)  
Antiguo 12/10/2009, 09:55
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 6 meses
Puntos: 43
Respuesta: no funciona "cargando...."

Hola mayid,
perdón por molestarte de nuevo, pero el codigo que me has pasad no me funciona lo he puesto asi:
Código javascripts:
Ver original
  1. $(document).ready(function(){
  2.    setTimeout('$("#wrapper")',3000);
  3.    $(window).bind('load', function(){      
  4.         $("#wrapper").css("display","block");  
  5.         $("#preloader").css("display","none");
  6.     });  
  7. });

y me demora pero no me sale el efecto del preload estoy haciendo algo mal?

salu2 y gracias
  #7 (permalink)  
Antiguo 12/10/2009, 12:14
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: no funciona "cargando...."

Y si, a simple vista estas pidiendo una demora antes de lanzar el loading. Es decir, tenes que hacer al reves: lanzar el loading antes de dar demora.

Ademas, esto no funciona asi:
Cita:
setTimeout('$("#wrapper")',3000);
$("#wrapper") es un selector. Y vos lo que tenes que poner ahi es una funcion a disparar.

Yo lo veo asi:

Cita:
$(document).ready(function(){

function retraso() {
$("#wrapper").css("display","block");
$("#preloader").css("display","none");
}

setTimeout('retraso()',3000);

});
Bind no tiene nada que hacer aca, porque no estas asignando multiples funciones a nada. Tenes que saber diferenciar entre funciones propiamente dichas, y simples sentencias.

Pd: si no te funciona el codigo con la funcion que te escribi, obviala:

Cita:
$(document).ready(function(){

setTimeout(' $("#wrapper").css("display","block"); $("#preloader").css("display","none");',3000);

});
Pero queda mucho mas lindo escribir algo estructurado que todo en un mismo renglon.
  #8 (permalink)  
Antiguo 12/10/2009, 17:34
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 6 meses
Puntos: 43
Respuesta: no funciona "cargando...."

un millon de gracias mayid, al final la segunda opcion fue la que andubo, la primera el firebug me tiraba que no encontraba la funcion retraso, y quedaba siempre en el efecto loading, mañana con más tiempo veo de revisarla, pero necesitaba sacar el efecto urgente jajaja.
Si es verdad que mezclaba muchas cosas en el codigo, sobre todo porque estoy demasiado verde en jquery y no termino de comprender algunas cosas del core por ejemplo eso del "bind", pero con ejemplos es mas facil encontrarle la mano.
Muchisimas gracias nuevamente.
  #9 (permalink)  
Antiguo 12/10/2009, 18:12
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: no funciona "cargando...."

En su momento, esta sentencia, que llama a una funcion, me tomo mucho trabajo:
setTimeout('retraso()',3000);

A veces por las comillas, o quizas por los parentesis. Siempre faltaba un poco para que funcionase. Asi que con tiempo te recomiendo trates de arreglar la llamada a la funcion retraso() por ejemplo sin usar parentesis o sin usar comillas. Pensa que en un futuro podes necesitar hacer un llamado a una funcion compleja, y mas vale escribirla aparte, no en un solo renglon.
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 18:57.