Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] ejecutar contador de segundos al dar clic en un enlace

Estas en el tema de ejecutar contador de segundos al dar clic en un enlace en el foro de Javascript en Foros del Web. Hola a todos; al dar clic en un enlace, como se generan unos archivos planos tarda un poco y quisiera mostrar un contador de segundos ...
  #1 (permalink)  
Antiguo 07/04/2016, 11:25
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Sonrisa ejecutar contador de segundos al dar clic en un enlace

Hola a todos;

al dar clic en un enlace, como se generan unos archivos planos tarda un poco y quisiera mostrar un contador de segundos que actualmente me esta funcionando, pero el empieza a contar desde que el usuario accede a la pagina y no desde que da clic en el enlace.

No se casi de javascript pero intente ponerlo en el evento onclic del href y el script en una funcion .. pero no funciono porque cuando llama la funcion se queda en 0.1 y no continua avanzando los segundos.. que podría hacer?

Esta es el codigo

Código HTML:
Ver original
  1. <form name="d">
  2.                      <p>
  3.                        <input name="d2" size="8" style="text-align: center; border:none" />
  4.                       </p>
  5.                  </form>


Código Javascript:
Ver original
  1. <script>
  2.     function reloj(){
  3. var milisec=0
  4.                 var seconds=0
  5.                 document.d.d2.value='0'
  6.                 function display(){
  7.                 if (milisec>=9){
  8.                 milisec=0
  9.                 seconds+=1
  10.                 }
  11.                 else
  12.                 milisec+=1
  13.                 document.d.d2.value=seconds+"."+milisec
  14.                 setTimeout("display()",100)
  15.                 }
  16.                 display()
  17.     }
  18. </script>

la idea es que cuando le de clic en este enlace inicie el contador que de por cierto tiene otra funcion que oculta un div

Código HTML:
Ver original
  1. <a href="facturas_rp.php" onClick="return ocultar_facturas();" >

Última edición por mager3; 07/04/2016 a las 11:27 Razón: ampliar informacion
  #2 (permalink)  
Antiguo 07/04/2016, 11:33
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: ejecutar contador de segundos al dar clic en un enlace

Tienes varios problemas, aunque el principal problema lo tienes con el temporizador https://developer.mozilla.org/es/doc...ers/setTimeout
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 07/04/2016, 13:04
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Respuesta: ejecutar contador de segundos al dar clic en un enlace

Hola estuve leyendo el documento pero no encuentro el problema ya que el temporizador me funciona correctamente , mi problema radica es que quiero que solo inicie cuando le de clic en un href, no se si estoy leyendo el documento y no estoy interpretando lo que tu me quieres decir...
  #4 (permalink)  
Antiguo 07/04/2016, 13:37
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 18 años, 7 meses
Puntos: 19
Respuesta: ejecutar contador de segundos al dar clic en un enlace

Cita:
Iniciado por mager3 Ver Mensaje
Código HTML:
Ver original
  1. <a href="facturas_rp.php" onClick="return ocultar_facturas();" >
Si la funcion reloj es la que queres ejecutar, por que esta "ocultar_facturas();"?
Tal vez estes ejecutando reloj(); en otra parte de tu codigo que no estas mostrando.

Te recomiendo esta pagina, jsFiddle, para que pongas tu codigo o parte de tu codigo para que le sea mas facil a los demas ayudarte.
  #5 (permalink)  
Antiguo 07/04/2016, 13:45
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Respuesta: ejecutar contador de segundos al dar clic en un enlace

Fernando, la verdad quiero ejecutar dos funciones.. tienes razon , no la puse alli, seria asi:

Código HTML:
Ver original
  1. <a href="facturas_rp.php" onClick="reloj();return ocultar_facturas();" >

porque la de ocultar me oculta el link, para que al dar clic se desaparezca dicho link y aparezca el reloj con el contabilizador mientras se procesa la pagina... basicamente esa es mi idea.
  #6 (permalink)  
Antiguo 07/04/2016, 14:15
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 18 años, 7 meses
Puntos: 19
Respuesta: ejecutar contador de segundos al dar clic en un enlace

Proba esto, cada 100 milesimas de segundo te actualiza el valor.

Código Javascript:
Ver original
  1. function reloj() {
  2.    
  3.     var milisecs = 0;
  4.    
  5.     document.d.d2.value = '0';
  6.    
  7.     setInterval(function() {
  8.        
  9.         milisecs += 0.1;
  10.        
  11.         document.d.d2.value = milisecs.toFixed(1);
  12.        
  13.     }, 100);
  14.  
  15. };
  #7 (permalink)  
Antiguo 07/04/2016, 14:39
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Respuesta: ejecutar contador de segundos al dar clic en un enlace

Hey Fernand0 , Excelente , muchas gracias , funciono de maravilla voy analizar el codigo para aprender.... saludos.

grcias isabell tambien por la informacion aunque por mi bajo conocimiento de javascript no pude avanzar mucho con el problema.

Etiquetas: javascript+html, javascript-function
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 19:41.