Foros del Web » Programando para Internet » Jquery »

jquery.load, si ya ha sido cargado realizar acción

Estas en el tema de jquery.load, si ya ha sido cargado realizar acción en el foro de Jquery en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 21/07/2011, 10:28
 
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! :)
  #2 (permalink)  
Antiguo 25/07/2011, 09:08
 
Fecha de Ingreso: octubre-2006
Mensajes: 199
Antigüedad: 17 años, 6 meses
Puntos: 3
Respuesta: jquery.load, si ya ha sido cargado realizar acción

Estoy tratando de utilizar textStatus notmodified pero no me funciona. Haciendo algo así:

Código PHP:
if (status == "notmodified") { 
                    
alert("La sección ya está cargada");
                    {
función de scroll}
                } 
Pero no me funciona tampoco, es este método el apropiado para hacer esto?

No se me ocurre cómo comprobar si ese contenido ya ha sido cargado. Alguien por ahí?

Gracias!!
  #3 (permalink)  
Antiguo 25/07/2011, 22:33
 
Fecha de Ingreso: octubre-2006
Mensajes: 199
Antigüedad: 17 años, 6 meses
Puntos: 3
Respuesta: jquery.load, si ya ha sido cargado realizar acción

Nadie puede echarme un cable con esto?
  #4 (permalink)  
Antiguo 26/07/2011, 01:09
 
Fecha de Ingreso: octubre-2006
Mensajes: 199
Antigüedad: 17 años, 6 meses
Puntos: 3
Respuesta: jquery.load, si ya ha sido cargado realizar acción

Conseguí solucionarlo. En lugar de confirmar si la sección había cargado he realizado esta comprobación a través del cambio de hash. Comparo si el anterior es el mismo que el cambio que lanza la opción en concreto y si es el mismo realizo el scroll a la parte superior de la página.

Muchas gracias de todos modos! :)

Etiquetas: ajax
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 06:16.