Ejemplo timeout

<div id="contenedor" class="container ">
		<button id="parar" class="btn btn-primary">Parar</button>
		<h1 id="contador"></h1>
		<script src="js/test.js"></script>
	</div>
document.getElementById('parar').addEventListener('click', parar)

let contador = 20
let temporizador = setTimeout(saludo, 1000)

function parar () {
  clearInterval(temporizador)
}

function saludo () {
  document.getElementById('contador').innerHTML = contador
  contador--
  if (contador < 0) {
    alert('RINGRING!!!')
  } else {
    temporizador = setTimeout(saludo, 1000)
  }
}

Funciones temporizador

 <div id="reloj"></div>
        <div id="crono"></div>
        <input type="button" id="botonparar" value="Parar"><br/>
        <input type="button" id="botoniniciar" value="Iniciar"><br/>
        <input type="button" id="botonreiniciar" value="Reiniciar"><br/>
        Nombre: <input type="text" id="nombre"><br/>
        password: <input type="text" id="password"><br/>
        <input type="button" id="botonlogin" value="Login">
        <script>
            document.getElementById("botonparar").addEventListener("click", parar);
            document.getElementById("botoniniciar").addEventListener("click", iniciar);
            document.getElementById("botonreiniciar").addEventListener("click", reiniciar);

            setTimeout(reloj, 500);
            var c = 0;
            var timer;
            cronometro();
            function cronometro() {
                document.getElementById("crono").innerHTML = c;
                c++;
                timer = setTimeout(cronometro, 10);
            }
            function parar() {
                clearTimeout(timer);
            }
            function iniciar(){
                cronometro();
            }
            function reiniciar(){
                c=0;
                cronometro();
            }
            function reloj() {
                var d = new Date();
                document.getElementById("reloj").innerHTML = d.toLocaleTimeString();
                setTimeout(reloj, 500);
            }