Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

246
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda