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

128
Visualizações
Incrementos más suaves en la barra de progreso circular

He creado una barra de progreso circular en una página HTML que se ejecuta en un PLC. Me gustaría que la animación fuera más fluida al aumentar la cantidad de incrementos necesarios para completar el arco del lienzo HTML.

La variable leída del PLC incrementa 0,27 cada segundo. Mi objetivo es que mi barra de progreso haga 10 incrementos de 0,027 entre cada lectura de mi PLC para que la animación de las barras de progreso parezca más fluida. En este momento, solo estoy viendo este valor como un número. Ordenaré la parte del arco de mi código una vez que tenga los 10 incrementos de 0.027 partes funcionando.

Con el código que tengo actualmente, el número salta mucho.

 var cratio = ((v2.nodeValue/360)*100); for (var i = 0; i < 10; i++) { setInterval(function () { var cratio2 = (cratio + 0.027); var cratio3 = cratio2.toFixed(2); document.getElementById("cycleratio").innerHTML = cratio3 + "%"; cratio = cratio3; }, 10); }

Tengo la totalidad del código anterior dentro de otro bucle setInterval que ejecuta la función cada 100 ms y luego, como puede ver, incremento esta función cada 10 ms.

Creo que no funciona porque no estoy restableciendo la variable i y estoy redefiniendo cratio antes de que se completen los 10 incrementos de 0.027, pero he intentado arreglar esto durante horas y no he llegado a ninguna parte.

Agradecería cualquier ayuda. Gracias

about 4 years ago · Santiago Gelvez
1 Respostas
Responde à pergunta

0

Según sus soluciones, no estoy muy seguro de haber entendido lo que está haciendo, pero si desea aumentar un número cada 100 ms, funcionará para usted.

 var cratio = ((v2.nodeValue/360)*100); const interval = setInterval(() => { cratio += 0.027 document.getElementById("cycleratio").innerHTML = cratio.toFixed(2) + "%"; if (cratio >= 100) //or any number which is your max clearInterval(interval) }, 100)
about 4 years ago · Santiago Gelvez 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