Foros del Web » Programando para Internet » Javascript »

¿Por que pasa esto?

Estas en el tema de ¿Por que pasa esto? en el foro de Javascript en Foros del Web. Hola! Tengo el siguiente código para un cronómetro Código: var CronoID = null var CronoEjecutandose = false var decimas, segundos, minutos, horas, pl var hr, ...
  #1 (permalink)  
Antiguo 22/11/2007, 15:47
 
Fecha de Ingreso: mayo-2006
Mensajes: 243
Antigüedad: 18 años
Puntos: 0
Pregunta ¿Por que pasa esto?

Hola!

Tengo el siguiente código para un cronómetro
Código:
        var CronoID = null
        var CronoEjecutandose = false
        var decimas, segundos, minutos, horas, pl
		var hr, mn, sg

        function DetenerCrono (){
          if(CronoEjecutandose)
          clearTimeout(CronoID)
          CronoEjecutandose = false
        }

        function InicializarCrono (hr,mn,sg) {
        //inicializa contadores globales
        
        decimas = 0
        segundos = sg
        minutos = mn
        horas = hr

        //pone a cero los marcadores
        document.aspnetForm.ctl00$display.value = '00 : 00 : 00'
        //document.aspnetForm.parcial.value = '00:00:00'
        }

        function MostrarCrono () {
              
            //incrementa el crono
            decimas++
            if ( decimas > 9 ) {
                decimas = 0
                segundos++
                if ( segundos > 59 ) {
                    segundos = 0
                    minutos++
                    if ( minutos > 59 ) {
                        minutos = 0
                        horas++
                        if ( horas > 23 ) {
                            alert('Fin de la cuenta')
                            DetenerCrono()
                            return true
                        }
                    }
                }
            }

            //configura la salida
            var ValorCrono = ""
            ValorCrono = (horas < 10) ? "0" + horas : horas
            ValorCrono += (minutos < 10) ? " : 0" + minutos : " : " + minutos
            ValorCrono += (segundos < 10) ? " : 0" + segundos : " : " + segundos
    
            document.aspnetForm.ctl00$display.value = ValorCrono
    
            CronoID = setTimeout("MostrarCrono()", 100)
            CronoEjecutandose = true
            return true
        }

        function IniciarCrono (hr,mn,sg) {
        DetenerCrono()
        InicializarCrono(hr,mn,sg)
        MostrarCrono()
        }
En donde la primer funcion que llamo es: IniciarCrono

Hasta aqui todo va bien, pero despues desde mi pagina (que está desarrollada en .NET) llamo la funcion: ChgT, que a su ves despues de cierto tiempo llama a la funcion: kC, la cual hace la simulación de un click. A continuación estas funciones:

Código:
function ChgT(p1,hr,mn,sg)
		{
		    setTimeout("kC(" + hr + "," + mn + "," + sg + ")",p1);
		}
		
		function kC(hr,mn,sg) 
		{
			var botonLlamado = document.getElementById('ctl00_btnLlamado')
			botonLlamado.click()
		}
El problema es que cuando se vuelve a cargar la página despues de haber llamado la funcion kC (que hace una simulacion de un click) el cronómetro se para y ya no avanza :(

Que puedo hacer??... tengo más de dos días batallando con esto.. pueden creerlo :(

Agradezco muchisisisisimo su ayuda!!!

Saludos
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 07:53.