es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Efecto de deslizador invertido

Estoy intentando invertir el valor del deslizador myrange. Cuando POS = 0, el deslizador myrange debería estar en el máximo, y cuando POS = 100, el deslizador myrange debería estar en el mínimo. Cuando uso el deslizador, salta a valores altos como: 10089. (number es un entero controlado por un codificador rotatorio. Cuando uso el codificador, el script funciona perfectamente, así que supongo que hice algo mal en JS.) ¿Qué hice mal?

“`C++
// Gestión del servidor
void mainserver(){
String POS = server.arg("VOLM");
number = 100 – POS.toInt();
delay(15);

displayrendering();
server.send(200, "text/plane","");
}

void returnpos() {
String s = String(number, DEC);
server.send(200, "text/plain", s); //Enviar página web
}

<pre><code><br />“`HTML
<div class=”slidecontainer”>
<input type=”range” min=”-100″ max=”0″ value=”0″ class=”slider” id=”myrange” onchange=”send()”>
<p>Valor : <span id=”demo”>0</span></p>
</div>

<script>
  function send() {
    fetch('/setPOS?' + new URLSearchParams({
        VOLM: 100 - document.querySelector("#myrange").value,
    }))
    document.querySelector("#demo").innerText = document.querySelector("#myrange").value;
  }

  const interval = setInterval(function() {
    fetch('/getPOS').then(function(response) {
      return response.text().then(function(text) {
        document.querySelector("#demo").innerHTML = text;
        document.querySelector("#myrange").value = text;
      });
    });
  }, 100);
</script>
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para invertir el valor del deslizador myrange, los valores mínimos y máximos del deslizador en el código HTML deberán intercambiarse, de modo que el valor mínimo sea 0 y el valor máximo sea -100. Esto se puede hacer cambiando el código HTML del deslizador a:

    <input type="range" min="0" max="-100" value="0" class="slider" id="myrange" onchange="send()">
    

    Además, en el código JavaScript, en lugar de establecer el valor de VOLM como 100 menos el valor del deslizador, se debe establecer como el valor del deslizador multiplicado por -1, de la siguiente manera:

    VOLM: document.querySelector("#myrange").value * -1,
    

    Esto debería invertir adecuadamente el deslizador y evitar que salte a valores altos cuando se utiliza el deslizador.

Comments are closed.