Claro, piensa en los juegos de video. Que pasa cuando mantienes oprimida muchas veses una tecla o un boton, el mu;eco o la figura va hacer varias veces el mismo movimiento. Haz un swicth, es decir cuando uno oprima la tecla (Boton), seria algo asi
Código Javascript :
var oprimida = false; // Ver si la tecla esta oprimida
var timer = null; // El timer
var i = 0; // Numero de segundos
function Tecla (e){
if( !oprimida && typeof timer == 'null' ){ // Revisamos si se esta oprimiendo la tecla
oprimida = true; // Le decimos que ya se oprimio la tecla
timer = setInterval(Contador, 1000 ); // Y contamos
}
function Contador (){
i++; // Contando
if(i == 30 && oprimida ){ // Revisimos el numero de segundos que vamos y si fue oprimida
timer = clearInterval(); // Eliminanos el intervalo
timer = null; // Lo convertimos en null
oprimida = false; // Quitamos si fue oprimida
i = 0; // Contador en ceros
MifuncionParaHacer(); // Y ejecutamos la función que queremos
}
}
Espero que te sirva... claro revisa las variables pruébalo!!