Foros del Web » Programando para Internet » Jquery »

Cargar funcion una sola vez con JQUERY

Estas en el tema de Cargar funcion una sola vez con JQUERY en el foro de Jquery en Foros del Web. Hola, tengo una página hecha con tabs mediante jquery. El caso es que el contenido de esas tabs se cargan via load() desde archivos html ...
  #1 (permalink)  
Antiguo 13/04/2009, 20:40
 
Fecha de Ingreso: enero-2008
Mensajes: 36
Antigüedad: 16 años, 11 meses
Puntos: 0
Cargar funcion una sola vez con JQUERY

Hola, tengo una página hecha con tabs mediante jquery.

El caso es que el contenido de esas tabs se cargan via load() desde archivos html y una de esas páginas contiene un script para jquery que se carga y funciona correctamente, pero si me muevo entre tabs el script sigue ejecutandose y si vuelvo a esa tab en cuestión se vuelve a cargar otra vez y así indefinidamente.

Mi idea es hacer que ese script solo sea valido en esa tab y que al salir de esa tab no se ejecute.

El script en cuestión que me da estos problemas es el jQuery Spy, un scroller de noticias que se ejecuta cada x segundos para cargar nuevas noticias desde un fichero externo. (http://leftlogic.com/lounge/articles/jquery_spy2/

Aun así y de cara a otros scripts, dejo claro que lo quiero hacer es detener todas aquellas funciones jquery que se estén ejecutando, al cambiar de tab, o alguna forma de eliminar el "caché" que el navegador almacena con cada llamada ajax.
Me habré explicado fatal

He revisado la documentacion de Jquery (http://docs.jquery.com) y he visto que igual hay dos funciones que podrian ayudarme pero no he conseguido aplicarlas. Estas son one() y jQuery.removeData.

Os dejo el codigo que carga el script en el html de una de las tabs:

Código HTML:
<script type="text/javascript" src="spy.js"></script>
<script type="text/javascript">
$(function() {
$('#spyContainer').spy({
		'ajax': 'news.php', 'limit': '5', 'fadeLast': '2', 'timeout' : '5000'
});
}); 
</script>
<div id="spyContainer"></div> 
Y os dejo tambien el script que carga ese html desde la página padre (aunque esto está bien)

Código HTML:
<script type="text/javascript">
$(document).ready(function(){
   $(".menutabs a").each(function(){
      var href = $(this).attr("href");
      $(this).attr({ href: "#"});
      $(this).click(function(){
         $("#dondesecarga").load(href);

      });
   });
});
</script>
<div id="dondesecarga"></div> 
A ver si alguien puede ayudarme y ojala sea una cosa muy elemental...

Última edición por Olivier; 13/04/2009 a las 20:50
  #2 (permalink)  
Antiguo 14/04/2009, 10:55
 
Fecha de Ingreso: febrero-2009
Mensajes: 56
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Cargar funcion una sola vez con JQUERY

Con ONE(); creo que asignas una vez un Evento...lo mismo que Bind, sólo que funcionará sólo una vez !!
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 10:41.