Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Otros Temas » JavaScript » setInterval Responder al tema
Nuevo tema


Página 1 de 1  [ 5 mensajes ] 
 
Nota 2009-04-19 15:16 @678

Perlero Nuevo
Registrado: 2009-04-09 10:14 @468
Mensajes: 25
setInterval
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.


Nota 2009-04-19 15:48 @700

Perlero Nuevo
Registrado: 2009-04-09 10:14 @468
Mensajes: 25
Perdón debi poner el codigo para verlo mejor
Syntax: [ Download ] [ Hide ]
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 );
}


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


Nota 2009-04-20 09:36 @442
Avatar de Usuario
Creador de Perl en Español
Registrado: 2003-10-15 16:52 @744
Ubicación: México
Mensajes: 1163
Crea una variable de estado con una función que haga el temporizador, no lo hagas directamente:

Syntax: [ Download ] [ Hide ]
  1. onclick="iniciarTemporizador()"  


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

Syntax: [ Download ] [ Hide ]
Using javascript Syntax Highlighting
var ejecutando = false;

function iniciarTemporizador(){
    if( ejecutando == false ){
        setInterval('Ahora()', 10);
        ejecutando = true;
    }
}


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

Syntax: [ Download ] [ Hide ]
Using javascript Syntax Highlighting
...
    // si ya hemos llegado hasta donde debíamos quitamos el temporizador
   clearInterval ( Temporizador );
   ejecutando = false;
...
 



No he probado el código pero debe de funcionar.

_________________
Uriel Lizama Perl programmer fundador de Perl en Español


Nota 2009-04-20 14:59 @666

Perlero Nuevo
Registrado: 2009-04-09 10:14 @468
Mensajes: 25
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.


Nota 2009-04-21 04:10 @215

Perlero Nuevo
Registrado: 2009-04-09 10:14 @468
Mensajes: 25
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.


Responder al tema  [ 5 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO