Intenté poner una variable que cambia cuando cambia el control deslizante, pero no funcionó. ¿Alguien tiene alguna idea? El siguiente código es algunos ejemplos de lo que estoy tratando de hacer: Es decir: crear un BPM cada segundo que cambia el acorde, creando un control deslizante que cambia el valor de los segundos pero simplemente no funciona y yo no saber como puedo hacerlo.
//Example of what i wanna do. var i = 0; var inter; var index = 4; function change() { var doc = document.getElementById("First"); var doc2 = document.getElementById("Next1"); const ar = ["A","Am","B","Bm","C","Cm","D","Dm","Em","F","Fm","G","Gm"];//Chords doc.innerHTML = ar[i];//Showing the first chord doc2.innerHTML = ar[i+1];//Showing the next chord i = (i + 1) % ar.length; } inter = setInterval(change, 4000);// this is what im having problems with. //Example of what i tried before this poster: //Did not worked function changeVelocity(){ velocity = document.getElementById("VelocitySlider").value; if(velocity = 40){ inter = setInterval(change, 1.5*1000); } } //What i did in HTML was this. //The input code im talking about: <input oninput="changeVelocity();"onchange="changeVelocity();"type="range" min="40" step="5"max="180" value="40" class="slider" id="Vel">PD: gracias @Asad Gulzar y gracias a @Andy. Resulta que fue más fácil de lo que me costó. Solo tuve que restablecer la primera función (setInterval) haciendo
var inter = setInterval(function,1000); //reset function changeVelocity(){ velocity = document.getElementById("VelocitySlider").value; if(velocity == 40){// put 2 "==" not just one clearInterval(inter); // reset the variable inter = setInterval(change, 1.5*1000); //adding an new number }```en cada cambio de rango, debe borrar el setInterval anterior y establecer un nuevo intervalo