Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/07/2015, 09:54
wilmer30
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 3 meses
Puntos: 12
cambiar dinámicamente el valor de setTimeout()

Hola,

Tengo el siguiente código:
Código Javascript:
Ver original
  1. $(document).ready(function() {  
  2.   function poll() {
  3.     setTimeout(function() {
  4.         $.ajax({
  5.             url: "sum.php",
  6.             type: "POST",
  7.             success: function(data) {
  8.                 $.each(data, function( key, value ) {
  9.                     var output = "";
  10.                     $.each( value, function ( userkey, uservalue) {
  11.                         output += '<ul>';
  12.                         output += '<li>' + userkey + ': ' + uservalue + "</li>";
  13.                         output += '</ul>';
  14.                     });
  15.                     $("#counter").html(output);
  16.                     setTimeout(true,5000);
  17.                 });
  18.             },
  19.             dataType: "json",
  20.             complete: poll,
  21.             // timeout: 5000,
  22.         })
  23.     }, 5000);
  24.   };
  25.   poll();
  26. });
En realidad tengo dos problemas el primero es en el setTimeout(function(),5000);

Problema 1:
cuando ingresa por primera ves este debería ser 0 (para permitir que esto muestre los datos inmediatamante), pero para la segunda llamada esto debería ser 50000, puesto que el bucle tendrá que mostrar los datos cada 5 segundos, lo que es el segundo problema.

Problema 2:
En el momento para mostrar el bucle intento detener 5 segundos cada ciclo, pero la verdad no se cómo hacer esto.

Entonces la llamada a la función haciendo una consulta a la Base de datos debería ser cada 50 segundos, dentro de este tiempo, se debería mostrar los datos recogidos cada 5 segundos.

Gracias por su ayuda