Estimados, espero que se encuentren bien. Soy nueva en lo que es programacion en javascript y tengo una duda con un codigo que estoy haciendo, la idea es la siguiente:
1.- cuando apreto una tecla hago un llamado a una funcion.
2.- la funcion debe ser llamada solo una vez
3.- si suelto el boton, la funcion llamada anteriormente debe deternerse.
ahora, el punto 1 y 3 funcionan bien, pero al parecer como mantengo apretada la tecla la funcion es llamada muchas veces, lo que hace que la pagina llegue a un punto y se quede pegada, para comprobar esto hice lo mismo pero que la funcion fuera llamada cuando hago click en un boton y ahi funciona de lo mas bien :( y no tengo idea como arreglarlo, alguien me puede orientar??? aqui dejo el codigo
<script type="text/javascript">
var c=0;
var indice=0;
var play = new Array();
var t
$.getJSON("codificador.php", function(json) {
$.each(json,function(i) {
if(i >= 2){
play[indice] = json[i].imagen;
indice++;
}
});
});
function start(){
t = setInterval("cambiar()",40);
}
function cambiar() {
if(c <= play.length){
document.images["cambiable"].src = "imgs/"+play[c];
c++;
}
else{
clearInterval(t);
}
}
function stop(){
clearInterval(t);
}
document.onkeydown=start;
document.onkeyup=stop;
</script>