• Publicidad

setInterval

Discute todo acerca de JavaScript así como DHTML o la tecnología AJAX.

setInterval

Notapor Perl » 2009-04-19 15:16 @678

Hola, estoy buscando la manera para que durante la ejecución de setInterval con onclick, impedir la reejecución del mismo con otro clic y que espere a terminar la ejecución.
Perl
Perlero nuevo
Perlero nuevo
 
Mensajes: 25
Registrado: 2009-04-09 10:14 @468

Publicidad

Perdón debi poner el codigo para verlo mejor

Notapor Perl » 2009-04-19 15:48 @700

Sintáxis: [ Descargar ] [ Ocultar ]
Using javascript Syntax Highlighting
onclick="Temporizador=setInterval('Ahora()', 10)"

function Ahora()
{
                   var Inicial = 0;
        if ( Inicial < 14 ) // comprobamos la media límite
                        // y si no hemos llegado a ella incrementamos
                Inicial += 0.1;
                       
        else    // si ya hemos llegado hasta donde debíamos quitamos el temporizador
                clearInterval ( Temporizador );
}
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Lo que busco es la manera de que mientras sube de 0 a 14 no le afecte un posible click, gracias por la ayuda de antemano
Perl
Perlero nuevo
Perlero nuevo
 
Mensajes: 25
Registrado: 2009-04-09 10:14 @468

Notapor kidd » 2009-04-20 09:36 @442

Crea una variable de estado con una función que haga el temporizador, no lo hagas directamente:

Sintáxis: [ Descargar ] [ Ocultar ]
  1. onclick="iniciarTemporizador()"  


Y tu función de inicialización del temporizador sería:

Sintáxis: [ Descargar ] [ Ocultar ]
Using javascript Syntax Highlighting
var ejecutando = false;

function iniciarTemporizador(){
    if( ejecutando == false ){
        setInterval('Ahora()', 10);
        ejecutando = true;
    }
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Una vez terminado de ejecutar el temporizador, ponemos otra vez la variable de ejecutando en estado falso.

Sintáxis: [ Descargar ] [ Ocultar ]
Using javascript Syntax Highlighting
...
    // si ya hemos llegado hasta donde debíamos quitamos el temporizador
   clearInterval ( Temporizador );
   ejecutando = false;
...
 
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4



No he probado el código pero debe de funcionar.
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor Perl » 2009-04-20 14:59 @666

Primero gracias por contestar.

No he analizado todavía lo que me has puesto pero ya probé el no ponerla directamente porque es más lógico y no me funcionó, de todas formas voy a depurarlo más analizando a tope tu ejemplo y comentaré el resultado con la idea.
Perl
Perlero nuevo
Perlero nuevo
 
Mensajes: 25
Registrado: 2009-04-09 10:14 @468

Notapor Perl » 2009-04-21 04:10 @215

Bueno, este era el camino, yo intenté esto pero en una misma función pero al ejecutarse en cada ciclo me cambiaba también la variable.

Luego tuve que cambiar el parámetro para saltar con él de la función que llama 'onclick' al del temporizador, ya que me daba error de tipo; pero de maravilla, va como la seda.

Muchas gracias, un saludo.
Perl
Perlero nuevo
Perlero nuevo
 
Mensajes: 25
Registrado: 2009-04-09 10:14 @468


Volver a JavaScript

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 10 invitados

cron