Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/04/2009, 20:40
Olivier
 
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