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...