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

245
Visualizações
¿Cómo animar varias barras de progreso al mismo tiempo?

Necesito hacer una barra de progreso para los diferentes elementos de mi base de datos. Actualmente tengo 4 elementos en mi base de datos y cada uno de ellos tendrá una barra de progreso asociada. Estoy usando ASP.Net Core (MVC) donde tengo una clase llamada Servidor con dos atributos: ComputerName y Type.

Aquí está el código html para crear múltiples barras de progreso:

 <div class="container"> <h2>Patch Management Progress</h2> @foreach (var server in Model) { <div id="serverName">@server.ComputerName</div> <div class="progress"> <div id="myProgress" class="bar bar-danger"></div> </div> } </div>

Aquí está el código javascript:

$('.progreso').each(función () {

 var bar = document.getElementById("myProgress"); var progress = 0; function setProgress(percent) { bar.style.width = percent + "%"; if (percent < 30) { bar.className = "progress-bar progress-bar-danger progress-bar-striped active"; } else if (percent >= 30 && percent < 70) { bar.className = "progress-bar progress-bar-warning progress-bar-striped active"; } else if (percent >= 70 && percent < 80) { bar.className = "progress-bar progress-bar-info progress-bar-striped active"; } else if (percent >= 80 && percent < 100) { bar.className = "progress-bar progress-bar-success progress-bar-striped active"; } else if (percent == 100) { bar.className = "progress-bar progress-bar-success"; } } var interval = setInterval( function () { setProgress(++progress); if (progress == 100) window.clearInterval(interval); }, 100); });

Nota: en este momento no me preocupa el porcentaje de cada barra de progreso, solo quiero asegurarme de que todas estén animadas.

Aquí está la salida:

ingrese la descripción de la imagen aquí

Sólo uno de ellos está animado. ¿Por qué está pasando esto?

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

0

id deben ser únicos. En su lugar, asigne a cada barra de progreso una clase y selecciónela con querySelector .

HTML:

 <div class="container"> <h2>Patch Management Progress</h2> @foreach (var server in Model) { <div class="serverName">@server.ComputerName</div> <div class="progress"> <div class="myProgress bar bar-danger"></div> </div> } </div>

JS:

 $('.progress').each(function () { var bar = this.querySelector(".myProgress"); var progress = 0; function setProgress(percent) { bar.style.width = percent + "%"; if (percent < 30) { bar.className = "myProgress progress-bar progress-bar-danger progress-bar-striped active"; } else if (percent >= 30 && percent < 70) { bar.className = "myProgress progress-bar progress-bar-warning progress-bar-striped active"; } else if (percent >= 70 && percent < 80) { bar.className = "myProgress progress-bar progress-bar-info progress-bar-striped active"; } else if (percent >= 80 && percent < 100) { bar.className = "myProgress progress-bar progress-bar-success progress-bar-striped active"; } else if (percent == 100) { bar.className = "myProgress progress-bar progress-bar-success"; } } var interval = setInterval( function () { setProgress(++progress); if (progress == 100) window.clearInterval(interval); }, 100); });
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