JavaScript - Detener funcion de cuenta regresiva

 
Vista:
sin imagen de perfil

Detener funcion de cuenta regresiva

Publicado por jearj (6 intervenciones) el 24/02/2016 23:27:03
Este script es parte de un proyecto que estoy realizando:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function cronometro() {
    var count = 20,
        number = document.getElementById('numero'),
        audio1 = document.getElementById("audio1"),
        audio2 = document.getElementById("audio2"),
        intervalo = setInterval(function(){
            count--;
            number.innerHTML = count;
            if (count == 10){
                audio1.play();
            }
            if(count == 0){
                clearInterval(intervalo);
                audio2.play()
            }
        }, 1000);
}
 
 
<audio id="audio1" src="aviso.MP3" preload="auto"></audio>
<audio id="audio2" src="finalizado.mp3" preload="auto"></audio>
 
<p  id="numero">20</p>
 
<input  type=button value="TIEMPO" onclick="cronometro();">

Mi problema es que necesito que se detenga esta funcion en cualquier momento, aunque la cuenta atrás no este terminada.

La verdad es que no se mucho de programación.

He probado de todo y no consigo que se pare.

Me da igual que sea con ese mismo botón o añadiendo otro.

Si alguien puede ayudarme, por favor.

Saludos y gracias por leerme.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Detener funcion de cuenta regresiva

Publicado por jearj (6 intervenciones) el 25/02/2016 09:39:40
Ya no hace falta.

Ya esta solucionado.

Ahí os dejo el código por si a alguien le sirve:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
function PlaySound(path) {
  var audioElement = document.createElement('audio');
  audioElement.setAttribute('src', path);
  audioElement.play();
}
 
var control = true; //La variable global
 
function cronometro() {
    if (control){
        var count = 20,
            number = document.getElementById('numero'),
            audio1 = document.getElementById("audio1"),
            audio2 = document.getElementById("audio2"),
            intervalo = setInterval(function(){
                if(count == 0 || control){
                    clearInterval(intervalo);
                    audio2.play();
                    return;
                }
                count--;
                number.innerHTML = count;
                if (count == 10){
                    audio1.play();
                }
            }, 1000);
        control = false;
    }
    else{
        control = true;
reset();
    }
}
 
 
<audio id="audio1" src="aviso.MP3" preload="auto"></audio>
<audio id="audio2" src="finalizado.mp3" preload="auto"></audio>
 
<p align="center" class="Tiempo" id="numero">20</p>
 
<input align="center" class="BotonTiempo" type=button value="TIEMPO" onclick="cronometro(); PlaySound('tiempo.MP3');">

Es una cuenta regresiva que avisa cuando inicia, cuando faltan 10 segundos y cuando acaba, pero seguro que ese script se puede usar para otras muchas cosas.

Saludos y gracias por leerme.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Detener funcion de cuenta regresiva

Publicado por xve (2100 intervenciones) el 25/02/2016 10:36:17
Gracias por compartirlo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar