Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/10/2008, 03:51
Avatar de mariamm_
mariamm_
 
Fecha de Ingreso: enero-2005
Mensajes: 124
Antigüedad: 19 años, 4 meses
Puntos: 1
Exclamación Problema precarga objetos

Hola a todos. Os expongo mi problema.

Estoy haciendo una web que carga muchos objetos: objetos flash por un lado, lightbox por otro lado, contenidos (HTML) ... el caso es que por ejemplo, imaginamos que cargamos una página de la web, pues bien, nos aparecerán varios elementos y uno de ellos es una galería con lightbox.

Si le damos a visualizar una imágen y aún no se ha cargado la página, lightbox no funciona y no hace el efecto deseado.

Bicheando por internet, encontré una función de javascript que te permite hacer una serie de acciones hasta que la página no se ha cargado.

Lo que hago es ocultar los elementos que no quiero que se vean hasta que la página se cargue, y una vez cargada, los muestro. Este es el codigo:


Código:
<SCRIPT type=text/javascript>
function init(fondo,  fotos, etiqueta) {
  	       
 	if (arguments.callee.done) return;		  
   	arguments.callee.done = true;
	
	// Mostramos, los elementos que hemos pasado como parametros.
	if ((fondo != null) && (fondo != undefined)) {
		var objeto1 = document.getElementById(fondo);	
		objeto1.style.display='block';
	}
	
	if ((fotos != null) && (fotos != undefined)) {
		var objeto5 = document.getElementById(fotos);
		objeto5.style.display='block';
	}	
	if ((etiqueta != null) || (etiqueta != undefined)) {
		var objeto6 = document.getElementById(etiqueta);
		objeto6.style.display='block';
	}
	
					   		   
	// La barra de precarga hay que hacerla invisible.	   	   	   
	var objeto = document.getElementById('barraPre');
	objeto.style.display='none';
	// Fin de ver objetos.
 };
  
 // LLAMAMOS A LA FUNCION 

 if (document.addEventListener) {
     document.addEventListener("DOMContentLoaded", init, false);
 }
	

window.onload = init('fotofondo', 'indice',  'tagflash');
  </SCRIPT>
Al llamar a la función pasándole los nombres de los ID de los elementos que quiero mostrar, no me los coge, es decir, no los reconoce y no se si pueda ser porque cuando hago la llamada aún no están cargados ...

Si alguien puede arrojar un poco de luz a esto, lo agradecería.

Un saludo a todos y gracias por anticipado