Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/10/2012, 08:32
oms02
 
Fecha de Ingreso: junio-2010
Mensajes: 373
Antigüedad: 13 años, 10 meses
Puntos: 11
evitar re-llamada a pagina con animaciones

Hola a todos.
Vengo un tiempo teniendo el siguiente problema:

A traves de un link traigo una página a cierta parte de la pantalla. Esta página en realidad es un "archivo completo.php" con php,js y html.

Código Javascript:
Ver original
  1. function menuPrincipal(php,query){
  2.     $.get(php+'.php', function(resultado){
  3.         $('div#P22').html(resultado);
  4.         $.getScript(query+'.js');
  5.     });
  6. }

La página que traigo tiene entre su codigo js, cierta parte dedicada a realizar una animación inicial nada mas cargarse.

Código Javascript:
Ver original
  1. ...
  2. function avisoMens (a){
  3.     var t = setTimeout(function(){
  4.         var noticia = $("<div class='aviso-"+colorMens[a]+"'></div>").html(txtMens[a]);
  5.         var cuadro = $('<div></div>').addClass('notice-item-wrapper').
  6.                                     animate({opacity:'show'},1000).
  7.                                     append(noticia);
  8.         var contenedor = $("#cuadro-"+sitioMens[a]+"-jugador").append(cuadro);
  9.  
  10.         var equis = $('<div></div>').addClass('notice-item-close').
  11.                                     prependTo(noticia).
  12.                                     html('&times').
  13.                                     click(function(){
  14.                                         eliminarMens(noticia);
  15.                                     });
  16.  
  17.         function eliminarMens(lugar){
  18.             lugar.animate({opacity:'0'},600,function(){
  19.                 lugar.parent().animate({height:'0px'},300,function(){
  20.                     lugar.parent().remove();
  21.                 });
  22.             });
  23.         }
  24.     },tini+100);
  25.     tini=tini+100;
  26. }
  27.  
  28. for(i=0;i<7;i++){
  29.     if(numMens[i]>0)
  30.         {avisoMens(i);}
  31. }
  32. ...

Hasta aquí todo funciona correctamente. El problema viene si hago varios clicks "rapidos". En este caso la página se comienza a cargar todas las veces, pero como aun no ha dado tiempo de realizar la animación, esta se realiza tantas veces como clicks he hecho, al final del todo (en la última carga).....y no hay manera de arreglarlo.

Me suena muchísimo a que tengo que utilizar el método stop() pero no lo consigo.

Muchas gracias.