Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] actualización de tiempo

Estas en el tema de actualización de tiempo en el foro de Jquery en Foros del Web. Hola amigos acá les tengo una nueva pregunta ya pude terminar un sistema por script donde ve actualiza los comentarios con respecto a la hora, ...
  #1 (permalink)  
Antiguo 10/10/2015, 15:07
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 8 años, 8 meses
Puntos: 0
actualización de tiempo

Hola amigos acá les tengo una nueva pregunta ya pude terminar un sistema por script donde ve actualiza los comentarios con respecto a la hora, pero es problema está en que solo actualiza el tiempo del primer cometario y quisiera que los actualizará a todos, ayuda por favor

Acá les dejo los codigo para que revisen

Código Javascript:
Ver original
  1. function Actuliacr_hora(){
  2.    
  3.  var Time = 0;
  4.  var UNIX_timestamp = $("#localstreaming").attr("fecha-comentario");
  5.  var ID_timestamp = $("#localstreaming").attr("ID");   
  6.  var a = new Date();
  7.  var TimeC = a.getTime().toString().substr(0, 10);
  8.  
  9.  var time_difference = TimeC  - UNIX_timestamp ;
  10.  
  11.  var seconds = time_difference;
  12.  
  13.  var minutes = Math.round(time_difference / 60) ;
  14.  
  15.  var hours = Math.round(time_difference / 3600 );
  16.  
  17.  var days = Math.round(time_difference / 86400 );
  18.  
  19.  var weeks = Math.round(time_difference / 604800 );
  20.  
  21.  var months = Math.round(time_difference / 2419200 );
  22.  
  23.  var years = Math.round(time_difference / 29030400 );
  24.  
  25.   setTimeout(Actuliacr_hora, 20000)
  26.     if(seconds <= 20)
  27.  
  28.     {
  29.  
  30.         Time = "ahora";
  31.  
  32.     }else if(seconds <= 60){
  33.  
  34.         Time =  "Hace " + seconds +" segundos";
  35.  
  36.     }
  37.  
  38.     else if(minutes <=60)
  39.  
  40.         {
  41.  
  42.         if(minutes==1)
  43.  
  44.         {
  45.  
  46.             Time = 'Hace un minuto';
  47.  
  48.         }
  49.  
  50.         else
  51.  
  52.         {
  53.  
  54.         Time = "Hace " + minutes +" minutos";
  55.  
  56.         }
  57.  
  58.     }
  59.  
  60.     else if(hours <=24)
  61.  
  62.     {
  63.  
  64.         if(hours==1)
  65.  
  66.         {
  67.  
  68.             Time = 'Hace una hora';
  69.  
  70.             }
  71.  
  72.             else
  73.  
  74.             {
  75.  
  76.             Time = "Hace " + hours +" horas";
  77.  
  78.             }
  79.  
  80.         }
  81.  
  82.         else if(days <=7)
  83.  
  84.         {
  85.  
  86.             if(days==1)
  87.  
  88.             {
  89.  
  90.                 Time = 'Hace una d&iacutea';
  91.  
  92.             }
  93.  
  94.             else
  95.  
  96.             {
  97.  
  98.              Time = "Hace " + days +" d&iacuteas";
  99.  
  100.             }
  101.  
  102.     }
  103.  
  104.     else if(weeks <=4)
  105.  
  106.     {
  107.  
  108.         if(weeks==1)
  109.  
  110.         {
  111.  
  112.             Time = 'Hace una semana';
  113.  
  114.         }
  115.  
  116.         else
  117.  
  118.         {
  119.  
  120.             Time = "Hace " + weeks +" semanas";
  121.  
  122.         }
  123.  
  124.     }
  125.  
  126.     else if(months <=12)
  127.  
  128.     {
  129.  
  130.         if(months==1)
  131.  
  132.         {
  133.  
  134.             Time = 'Hace un mes';
  135.  
  136.         }
  137.  
  138.         else
  139.  
  140.         {
  141.  
  142.             Time = "Hace " + months +" meses";
  143.  
  144.         }
  145.  
  146.     }
  147.  
  148.     else
  149.  
  150.     {
  151.  
  152.         if(years==1)
  153.  
  154.         {
  155.  
  156.             Time = 'Hace un a&ntildeo';
  157.  
  158.         }
  159.  
  160.         else
  161.  
  162.         {
  163.  
  164.         Time = "Hace " + years +" a&ntildeos";
  165.  
  166.     }
  167.    
  168.     }
  169.  
  170.  
  171. $('.fech-comen_'+ID_timestamp).html(Time);
  172.      
  173.            
  174.  }
  175.  
  176.  
  177.    
  178.  setTimeout(Actuliacr_hora, 5000)
  #2 (permalink)  
Antiguo 10/10/2015, 15:20
Avatar de Alexis88
Objetivista
 
Fecha de Ingreso: noviembre-2011
Ubicación: Lima, Perú
Mensajes: 5.433
Antigüedad: 8 años, 1 mes
Puntos: 932
Respuesta: actualización de tiempo

Eso te sucede porque el id es un dato único en todo el documento, por lo que si más de un elemento tiene el mismo id, solo se toma al primero de ellos.

En su lugar, utiliza una clase e itera sobre el conjunto de elementos que la posean.

Por ejemplo:
Código Javascript:
Ver original
  1. $.each($(".clase"), function(){
  2.     //$(this) representará a cada elemento
  3. });

Un saludo
__________________
«Laissez faire et laissez passer, le monde va de lui même»
  #3 (permalink)  
Antiguo 10/10/2015, 15:57
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: actualización de tiempo

Gracias por respoder amigo, pero disculpa enormente mi ignoracia pero cómo podre colocar ese codigo que me diste trato de colocar en primer lugar como:

Código Javascript:
Ver original
  1. function Actuliacr_hora(){
  2.    
  3.  var Time = 0;
  4.  var a = new Date();
  5.  var TimeC = a.getTime().toString().substr(0, 10); 
  6.    
  7. $.each($(".coment"), function(){
  8.  
  9.  var UNIX_timestamp = $(".coment").attr("fecha-comentario");
  10.  var ID_timestamp = $(".coment").attr("ID");

y no resulta. disculpa si no entendí bien tu respuesta.
  #4 (permalink)  
Antiguo 10/10/2015, 18:37
Avatar de Alexis88
Objetivista
 
Fecha de Ingreso: noviembre-2011
Ubicación: Lima, Perú
Mensajes: 5.433
Antigüedad: 8 años, 1 mes
Puntos: 932
Respuesta: actualización de tiempo

Como señalé en la respuesta anterior, mediante $(this) puedes tomar a cada elemento del conjunto. En otras palabras, en lugar de ser así:

Código Javascript:
Ver original
  1. $(".coment").attr("fecha-comentario");

Debe ser así:

Código Javascript:
Ver original
  1. $(this).attr("fecha-comentario");

Por cierto, si estás creando atributos a libre criterio, te sugiero utilizar la sintaxis de los atributos personalizados.

Un saludo
__________________
«Laissez faire et laissez passer, le monde va de lui même»
  #5 (permalink)  
Antiguo 10/10/2015, 20:20
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: actualización de tiempo

Muchísimas gracias Alexis88. Tu aporte fue muy buena ayuda. Espero que estos código acá sea de gran ayuda para los demás.

Etiquetas: html, html+javascript, javascript, scripts
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:35.