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

Preload muy simple no funciona en IE8

Estas en el tema de Preload muy simple no funciona en IE8 en el foro de Frameworks JS en Foros del Web. Muy buenas noches. Tengo este código: Código: function preload(){ document.getElementById("contenedor").className = "ocultar"; document.getElementById("preload").style.display = "block"; } function load(){ document.getElementById("preload").style.display = "none"; document.getElementById("contenedor").className = "mostrar"; } ...
  #1 (permalink)  
Antiguo 22/02/2012, 21:32
Usuario no validado
 
Fecha de Ingreso: febrero-2012
Mensajes: 3
Antigüedad: 12 años, 2 meses
Puntos: 0
Preload muy simple no funciona en IE8

Muy buenas noches.

Tengo este código:

Código:
function preload(){
	document.getElementById("contenedor").className = "ocultar";
	document.getElementById("preload").style.display = "block";
}
	
function load(){
	document.getElementById("preload").style.display = "none";
	document.getElementById("contenedor").className = "mostrar";
}

$(window).load(function(){
	load();
});

¿La idea es simple verdad?
Funciona de maravilla en navegadores modernos, pero necesito que funciones en IE8

¿Alguien me puede dar una mano? Busqué bastante, pero al no entender mucho de javascript me cuesta encontrar el problema, y como conozco la increíble bondad de los foreros acudo a ustedes.

Desde ya muchas gracias.

Pablo.
  #2 (permalink)  
Antiguo 23/02/2012, 05:36
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 6 meses
Puntos: 265
Respuesta: Preload muy simple no funciona en IE8

Cambia $(window).load por $(document).ready . Estas usando ese framework no?

Porque podes cambiar todo el codigo por jquery

Código Javascript:
Ver original
  1. function preload(){
  2.         $("#contenedor").removeClass("mostrar");
  3.     $("#contenedor").addClass("ocultar");
  4.         $("#preload").css("display","block");
  5. }
  6.    
  7. function load(){
  8.         $("#contenedor").removeClass("ocultar");
  9.         $("#contenedor").addClass("mostrar");
  10.         $("#preload").css("display","none");
  11. }
  12.  
  13. $(document).ready(function(){
  14.     load();
  15. });

Saludos.
  #3 (permalink)  
Antiguo 23/02/2012, 06:40
Usuario no validado
 
Fecha de Ingreso: febrero-2012
Mensajes: 3
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Preload muy simple no funciona en IE8

Gracias por contestar MarioAraque.

Tendría que haber aclarado algunas cosas que no me di cuenta.

Todo lo que escribí anteriormente esta volcado así como está en un .js (osea... sin framework verdad?)

Luego de eso tengo un slide en jQuery (en el mismo .js) y lo que hice fue aprovechar el jQuery(document).ready(function() para ahí dentro ejecutar la función preload()

Después de leer tu respuesta pasé todo dentro del jQuery quedandome así:

Código:
jQuery(document).ready(function() {

	function preload(){
		$("#contenedor").removeClass("mostrar");
		$("#contenedor").addClass("ocultar");
		$("#preload").css("display","block");
	}
	
	preload();
	
	function load(){
                $("#contenedor").removeClass("ocultar");
                $("#cabeza").addClass("mostrar");
                $("#preload").css("display","none");
}

	$(window).load(function(){
		load();
	});
});
Bueno.. aunque así igualmente funciona en navegadores modernos, sigue sin funcionar en IE8 y supongo que tiene que ver con el window.load. Pero lo estoy usando porque que yo tenga entendido document.ready se ejecuta cuando el DOM está listo y entonces hace la función preload() y cuando todo está cargado incluyendo las imágenes hace window.load ejecutando la función load()

¿En que le estoy errando?
Gracias de nuevo.
  #4 (permalink)  
Antiguo 23/02/2012, 06:44
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años
Puntos: 343
Respuesta: Preload muy simple no funciona en IE8

Nota al margen, jQuery no es un framework.
__________________
blog | @aijoona
  #5 (permalink)  
Antiguo 23/02/2012, 06:50
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 6 meses
Puntos: 265
Respuesta: Preload muy simple no funciona en IE8

Si tenes Jquery puesto en tu web, en cualquier fichero .js podes usarlo, no debes tener ningun problema.

Sinceramente no se que efecto tenga, pero no pondria el Jquery(document).ready y dentro el $(window).onload, la verdad no estoy seguro de que funcione correctamente.

Parece que el error no esta aca, si quitas el slider y solo cargas este fichero aun sigue sin funcionar en IE8?

Saludos.
  #6 (permalink)  
Antiguo 23/02/2012, 07:17
Usuario no validado
 
Fecha de Ingreso: febrero-2012
Mensajes: 3
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Preload muy simple no funciona en IE8

Resuelto!

Mi .js tenía mucho más código del que pasé, pero como no había tenido problema con el resto no pensé que tendría algo que ver. Cambié todo el código para adaptarlo a jQuery y ahora anda perfecto.

Creo que la linea exacta que no leía bien IE era esta:

Código:
document.getElementById("contenedor").style.width=anchoC+"px";

Supongo que por razones de compatibilidad es mejor usar jQuery siempre...??

Muchas gracias por la guía.

Etiquetas: funcion, ie8, preload, simple
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 12:39.