Ver Mensaje Individual
  #17 (permalink)  
Antiguo 04/05/2011, 16:58
InKarC
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: Barra de progreso mientras carga una pagina web

Los celulares son un mundo completamente aparte ya de por si muchos ni CSS muestran en lo absoluto asi que es bastante invalido compararlos con estos.

La mayoria de personas en latinoamerica + españa (en computadores de escritorio) tienen acceso a internet de 1MB o mas.

El procesamiento cuando maneja operaciones complejas muy probablemente esta mas optimizado en jQuery que en cualquier script que el promedio de desarrolladores podrian crear.

-------------------------------------

Volviendo al tema...

IsaBelM sabe mucho de javascript seguramente mas que yo pero a veces se complica demasiado para la resolucion de problemas. Aquí un código mucho mas corto de un cargador y lo probe en diferentes navegadores (usando el boton atras y todo eso) y funciona perfectamente.

Sip, usando jQuery... (aunque la parte mas importante (CORE) es puro javascript y no deberia ser dificil implantarlo en otros ambientes)

Código Javascript:
Ver original
  1. jQuery(function($){
  2.         var items_cargar = $("img") //Seleccionas las imagenes a cargar
  3.        
  4.         var moverse = $("#contendor-barra").width() / items_cargar.length;
  5.        
  6.         items_cargar.each(function(){ //CORE Procesar cada imagen para ver si ya esta cargada o si necesita un evento "onload"
  7.             var pic=new Image();
  8.             pic.src= this.src;
  9.             if(pic.complete) cargada(); else {pic.onload= cargada; pic.onError = cargada };
  10.         })
  11.        
  12.         function cargada(){ // Funcion que se ejecuta cada vez que carga una imagen (o si tira un error) o si estaba cargada desde antes
  13.                 $("#barra").animate({"left": "+=" + moverse}, 100, function(){
  14.                         if($("#barra").css("left").replace("px","") >= 0){
  15.                                 $("#pantalla_blanca").hide()
  16.                         }          
  17.                 })
  18.         }
  19.            
  20. })

Si lo quieren ver funcionando y con todo el CSS/HTML aqui esta: http://jsfiddle.net/R6ce9/1/

Última edición por InKarC; 04/05/2011 a las 17:28