Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/07/2010, 08:57
Avatar de Z3R0N3
Z3R0N3
 
Fecha de Ingreso: junio-2010
Ubicación: En algún lugar de la mancha de cuyo nombre no quiero acordarme...
Mensajes: 73
Antigüedad: 14 años, 8 meses
Puntos: 4
[AYUDA] SetTimeOut y ClearTimeout [Z3R0N3]

buenas señores, espero que alguien pueda ayudarme con un problemilla que tengo... resulta que dispongo de una página web alojada en un hosting grautito:

[URL="http://Syszer0.zzl.org"]http://Syszer0.zzl.org[/URL]

en ella, aplico un efecto en JS de fadeIn y FadeOut en los contenidos al pulsar un enlace.

El problema está en que al ser un servidor lento (también algunos usuarios disponen de conexiones lentas), al pulsar sobre un enlace, el contenido desaparece con su correscondiente efecto FadeOut, y vuelve a cargar el mismo contenido con el efecto FadeIn, pero hasta al cabo de un tiempo, no aparece el que debía haber cargado con el efecto FadeIN, es decir, carga el contenido que se había ocultado y luego al rato aparece de golpe el contenido ke debía haber cargado.

Para soluccionar el problema he supuesto que añadiendole una demora de tiempo con setTimeOut entre el efecto FadeOut y FadeIn, soluccionaría el problema. Pero ahora el problema está en que no me funciona el code...


Aquí les dejo el code sin añadir setTimeout:

Código:
$(document).ready(function(){
$(".items").load("pages/inicio.php");
   $("#menu a").each(function(){
      var href = $(this).attr("HREF");
      $(this).attr({ href: "#"});
	  
      $(this).click(function(evento){
	  evento.preventDefault();
	  $(".items").fadeOut("slow", loaditems);
	  $(".load").remove();
	  $(".carga").append('<DIV CLASS="load"></DIV>');
	  $(".load").fadeIn('normal');

		function loaditems()
		{
			$(".items").load(href, scrll).fadeIn("slow", hideLoader);
		}
		function scrll()
		{
		$(".scrollable").scrollable({ vertical: true, keyboard: true, mousewheel: true, speed: 400});
		$(".scrollable").scrollable().begin(0);
		}
		function hideLoader()
		{
			$(".load").fadeOut("normal");
		}

return false;
		
	});
   });
});


Y aquí se lo dejo intentando aplicarle setTimeOut:


Código:
$(document).ready(function(){
$(".items").load("pages/inicio.php");
   $("#menu a").each(function(){
      var href = $(this).attr("HREF");
      $(this).attr({ href: "#"});
	  
      $(this).click(function(evento){
	  evento.preventDefault();
	  $(".items").fadeOut("slow", loaditems);
	  $(".load").remove();
	  $(".carga").append('<DIV CLASS="load"></DIV>');
	  $(".load").fadeIn('normal');

		function loaditems()
		{
			$(".items").load(href, scrll).setTimeout("fadeIn("slow", hideLoader);",6000);
		}
		function scrll()
		{
		$(".scrollable").scrollable({ vertical: true, keyboard: true, mousewheel: true, speed: 400});
		$(".scrollable").scrollable().begin(0);
		}
		function hideLoader()
		{
			$(".load").fadeOut("normal");
		}

return false;
		
	});
   });
});

para ser mas específico las lineas son estas:



Código:
function loaditems()
		{
		$(".items").load(href, scrll).setTimeout("fadeIn("slow", hideLoader);",6000);
		}
Código:
function loaditems()
		{
			$(".items").load(href, scrll).fadeIn("slow", hideLoader);
		}

Probando el primer code desde el localhost, todo funciona como debería, pero a la hora de subirlo al hosting es cuando hay problemas con la demora de la carga de contenidos.


Espero que me puedan ayudar. Gracias de antemano y Salu2