Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

176
Visualizações
cambiar el color del control deslizante redondo según el valor

Estoy tratando de dejar que el color del rango cambie de verde a rojo cuando las personas mueven el control deslizante de 100 a 0. Uso el control deslizante JS Round ( https://roundsliderui.com/document.html ).

MRE está aquí: https://codepen.io/chapkovski/pen/gORmrbR Pero se ve así:

 $("#slider1").roundSlider({ sliderType: "min-range", value: 80, // svgMode: true, valueChange: "changeColor", }); function componentToHex(c) { var hex = c.toString(16); return hex.length == 1 ? "0" + hex : hex; } function rgbToHex(r, g, b) { return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b); } var sliderObj = $("#slider1").data("roundSlider"); function changeColor(e) { const val = e.value * 2.55; sliderObj.rangeColor = rgbToHex(255 - val, val, 0); }

¿Qué estoy haciendo mal?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

En su demostración hay algunos problemas, por lo que es posible que deba corregir las siguientes cosas:

  1. Está configurando el valor de la propiedad de forma incorrecta. Para actualizar cualquier valor de propiedad dinámicamente, puede seguir cualquiera de las siguientes sintaxis:
 $("#slider1").roundSlider("option", "rangeColor", rgbToHex(255 - val, val, 0)); OR $("#slider1").roundSlider({"rangeColor": rgbToHex(255 - val, val, 0) }); OR sliderObj.option("rangeColor", rgbToHex(255 - val, val, 0));

https://roundsliderui.com/document.html#how-to-use-options

  1. En la lógica de generación del código de color, está haciendo algo como esto e.value * 2.55 , pero esto devolverá el valor flotante. Pero el código de color hexadecimal no aceptará el valor flotante. Así que haz que este valor sea redondo.
 Math.round(e.value * 2.55)
  1. Has comentado el svgMode: true , debería estar habilitado.

Y una sugerencia más, puede actualizar a la v1.6.1 para una mejor mejora.

Aquí está la DEMO modificada que funciona bien:

https://codepen.io/soundar24/pen/mdwWBzX

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda