Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/01/2012, 16:49
cancha
 
Fecha de Ingreso: junio-2007
Mensajes: 75
Antigüedad: 16 años, 10 meses
Puntos: 1
setInterval ejecuta una vez evento onClick

Buenas, tengo un problema con esta porción de código

Código Javascript:
Ver original
  1. $('#divRunSorteo').on('click',
  2.             function()
  3.             {
  4.                 $('#divContentSorteo').css('padding-top','110px');
  5.                 var letras = ['Q','W','E','R','T','Y','U','I','O','P','A','S','D','F','G','H','J','K','L','Z','X','C','V','B','N','M','  '];
  6.                var idInterval = setInterval(
  7.                     function(){
  8.                         var texto = '';
  9.                         var random = Math.floor(Math.random() * letras.length );
  10.                         for(var i = random; i < letras.length; i++)
  11.                         {
  12.                             texto += letras[i];
  13.                         }
  14.                         $('#divContentSorteo').html('<span style="font-size:18pt;font-weight:bold;margin-top:25px;"> '+texto.substr(0, 15)+'</span>');
  15.                     }
  16.                     , '100',this
  17.                 );
  18.                    
  19.                 setTimeout(
  20.                     function(){
  21.                         $.ajax({
  22.                             type: 'get',
  23.                             dataType: 'json',
  24.                             url: 'sorteo/sortear',
  25.                             data: '',
  26.                             success: function(winer){
  27.                                     clearInterval(idInterval);
  28.                                     $('#divContentSorteo').html('<span style="font-size:18pt;font-weight:bold;margin-top:25px;">El ticket Ganador es: '+winer.tick_numero+'</span>');
  29.                                     $('#divNameWiner').html('Nombre del ganador : <br/> '+winer.cli_apePate+' '+winer.cli_apeMate+' '+winer.cli_nombre);
  30.                             }
  31.                         });
  32.                     }
  33.                     , '1000'
  34.                 );
  35.             }
  36.         );

el problema es que si ejecuta la primera vez que le doy click luego la segunda no y eh quitado la parte del setInterval para hacer prueba y efectivamente ejecuta n veces el evento click pero con setInterval solo ejecuta una vez alguien me pueda echar una manito porfa

Actualización:
Ahora que eh estado mirando y analizando el asunto, me encuentro con que el codigo si se puede ejecutar pero desde la consola, en mi caso desdel inspector de chrome ingreso
$('#divRunSorteo').click();

y efectivamente ejecuta el codigo con normalidad y tantas veces lo llame, pero resulta que cuando hago click con el puntero del mouse sobre el div no ejecuta nada, a esto todavía no logro identificar la causa por fa alguna pista

Última edición por cancha; 09/01/2012 a las 22:43 Razón: javascript, handler, setInterval, click, jquery, setTimeout