Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/07/2011, 10:28
MadDunDee
 
Fecha de Ingreso: octubre-2006
Mensajes: 199
Antigüedad: 17 años, 6 meses
Puntos: 3
jquery.load, si ya ha sido cargado realizar acción

Hola!

estoy montando un sitio que necesita realizar una serie de comportamientos desde el punto de vista de la experiencia de usuario.

Veréis, cargo un contenido dentro de un div a través del método .load de jquery. Una vez que esto se produce, es decir, que se ha cargado el contenido se realiza una scrollTop a lo alto de la página.

Lo que sucede es que si esa sección ya ha sido cargada y continuamos navegando/haciendo scroll hacia abajo de la página y volvemos a clicar sobre la opción que carga dicha sección ya no se produce un scrollTop, puesto que el contenido ya ha sido cargado. El código es el siguiente:

Código PHP:
$mainContent.load(newHash, function(responsestatusxhr) {
                if (
status == "error") {
                    
//alert("Error loading work");
                    
$('#imgLoad').remove();
                }
                $(
'#imgLoad').remove();
                
// activa slides
                
                
{...funciones...}
                
                
// abre el panel que contiene la sección cargada por ajax 
                
$mainContent.slideDown(300, function() {
                    {
funciones que calculan el alto del viewport}
                });
                $(
'html,body,#wrapper').animate({scrollTop:0}, 500);
//                $.scrollTo("#top-work", 300);
                
{otras funciones
Pues bien, cuando se carga el trabajo se realiza el scroll. Pero el problema es que si la sección o trabajo ya está cargada y se vuelve a lanzar entonces no se produce el scroll, porque no hay nada que cargar.

Cómo podría solucionar esto? No se me ocurre la mejor forma de hacerlo y espero que me podáis ayudar con ello!

Resumiendo, si ya ha sido cargada una sección cómo hago para que cuando se vuelva a clicar sobre la opción que lanza dicha carga/sección/trabajo haga igualmente scroll arriba de la página.

Muchas gracias! :)