Reiniciar script en llamada AJAX

liebgott

Hola

Estoy haciendo un slider de noticias con el carousel 0.9.5 de jquery cuyo contenido a de irse peticionando al servidor con calls AJAX. El problema es que cuando llamo a la funcion que actualiza el contenido el carousel() se me va al carajo.

Este es el codigo

$(function(){
		  			
		function showDisplay(items){
		
			$.ajax({ 
 			type: "GET", 
 			url: 'test'+items+'.html', 
 			data: 'data',  
 			success: function(data) {
 					 $('.carousel ul').empty();
 					 $('.carousel ul').html(data);
   					 $("div.example-2").carousel({ direction: "vertical", dispItems:5 , pagination:true });
   					 $('<div class="nextGroup">next</div>').appendTo($('.content-pag')).click( function(){
        	     	showDisplay('2');
	     		  	 });
 			}
			});
};     
			
		
		showDisplay('1');
		
         });

Como puedo hacer que para cada llamada AJAX el carousel se resete y vuelva a montarse con el nuevo contenido (tal y como esta ahora se le va la olla y se triplica).

Gracias!!

MisKo

intenta explicarte un poco mejor.

Creo que asi a bote pronto, lo que pasa es que cada vez que se llama al ajax, el carrusel tiene su codigo, mas el que trae ajax, no?

liebgott

si, weno basicamente necesito que el carousel se vaya rellenando con contenido que le doy con AJAX. El problema es que cuando hace el load de pagina todo bien, pero a darle a next el carousel se va al carajo.

MisKo

doy por sentado que en test2.html tienes la misma estructura que en test1.html.

Con lo de

$('<div class="nextGroup">next</div>').appendTo($('.content-pag')).click( function(){
                        showDisplay('2');

estas metiendole continuamente a .content-pag un div por cada vez que haces una llamada a ajax , y bueno, no se como tendras tu HTML , pero seguramente el .content-pag no lo deberias modificar , solo el carrusel ( por lo que cada vez que haces la llamada de ajax, te debe aparecer un next mas )

sigo mirando lo otro a ver q encuentro

liebgott

si, ya lo he quitado de la funcion

gracias!

1 respuesta
MisKo

#5 eso era lo unico que te fallaba? :P

liebgott

no no que va xDD
El carousel petardea por todos lados

MisKo

intenta poner tb el html para que me haga una idea xD

liebgott

Digamos que aqui es donde mete el carousel

<div id="content-right">
	<div class="carousel example-2" >

	<ul>

	</ul>
	
</div>

  </div>
MisKo

vale, supongo q este plugin te pide q tngas un div, y dentro el UL no?

lo unico que se me ocurre, es que en la llamada de ajax, borres el div, con todo su contenido, y que lo crees dinamicamente, algo tal que asi :

$("div.example-2").remove() ;
$("#content-right").html("<div class="carousel example-2" ><ul></ul></div>") ;

pero vamos, comprueba tb los html que llamas y tal

liebgott

it works, gracias!!!

1 respuesta
MisKo

#11 de nada xD

Usuarios habituales

  • MisKo
  • liebgott