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 originaljQuery(function($){
var items_cargar = $("img") //Seleccionas las imagenes a cargar
var moverse = $("#contendor-barra").width() / items_cargar.length;
items_cargar.each(function(){ //CORE Procesar cada imagen para ver si ya esta cargada o si necesita un evento "onload"
var pic=new Image();
pic.src= this.src;
if(pic.complete) cargada(); else {pic.onload= cargada; pic.onError = cargada };
})
function cargada(){ // Funcion que se ejecuta cada vez que carga una imagen (o si tira un error) o si estaba cargada desde antes
$("#barra").animate({"left": "+=" + moverse}, 100, function(){
if($("#barra").css("left").replace("px","") >= 0){
$("#pantalla_blanca").hide()
}
})
}
})
Si lo quieren ver funcionando y con todo el CSS/HTML aqui esta:
http://jsfiddle.net/R6ce9/1/