Cargando



jQuery UI – Barras de progreso

En este tutorial veremos como jQuery y su paquete de librerías jQuery UI nos permiten implementar las barras de progreso a nuestro sitio web y darle ese look moderno y funcionalidad deseada.


jul 22 2013 21:06
Profesional
Existen diferentes elementos en los sitios web modernos que tienen diversas funcionalidades y que hacen que tareas específicas en una web sean sencillas e inclusive más llamativas y agradables a la vista, haciendo que la navegabilidad del sitio y la usabilidad que se le brinda al usuario sea sumamente óptima.

Barras de Progreso

Las barras de progreso se encargan de mostrar el progreso de una tarea tal como una transferencia o subida de un archivo, carga de información, etc.

El método progressbar()

El método progressbar() declara que un elemento del HTML debe ser gestionado y tratado en la forma de una barra de progreso. Las opciones del mismo son un objeto que especifica el comportamiento y la apariencia de este.
El método progressbar() puede ser utilizado de dos maneras:

• $(selector, context).progressbar (options)
• $(selector, context).progressbar ("action", params)

Veamos un ejemplo del uso del mismo:
  • Primero incluimos los archivos necesarios, las librerías de jQuery así como los CSS:
<link rel="stylesheet" href="http://code.jquery.c.../jquery-ui.css" />
<script src="http://code.jquery.c...1.js"></script>

<script src="http://code.jquery.c...i.js"></script>

<link rel="stylesheet" href="/resources/demos/style.css" />

  • Añadimos algunos estilos para las etiquetas y la barra como tal:
<style>
.ui-progressbar {
position: relative;
}
.progress-label {
position: absolute;
left: 50%;
top: 4px;
font-weight: bold;
text-shadow: 1px 1px 0 #fff;
}
</style>
  • Instanciamos nuestro método progressbar() lo asociamos a un contenedor y adicionalmente agregamos algunos eventos para que detecten cuando la subida o transferencia este en progreso y finalmente cuando esta se haya completado:
<script>
$(function() {
var progressbar = $( "#progressbar" ),
progressLabel = $( ".progress-label" );

progressbar.progressbar({
value: false,
change: function() {
progressLabel.text( progressbar.progressbar( "value" ) + "%" );
},
complete: function() {
progressLabel.text( "Complete!" );
}
});

function progress() {
var val = progressbar.progressbar( "value" ) || 0;

progressbar.progressbar( "value", val + 1 );

if ( val < 99 ) {
setTimeout( progress, 100 );
}
}

setTimeout( progress, 3000 );
});
</script>
  • Por ultimo agregamos nuestro código HTML y las etiquetas <div> donde nuestra barra de progreso será desplegada:

<body>
<div id="progressbar"><div class="progress-label">Loading...</div></div>
</body>


La implementación de nuestro código luciría de la siguiente forma en el navegador:

barras-javascript-google.jpg


barras-javascript-google-2.jpg


Por último aquí les dejamos el código completo para que puedan probarlo por ustedes mismos, sin olvidar que podemos probar diferentes opciones, eventos e incluso estilos para nuestra barra de progreso.

<!doctype html>

<html lang="en">
<head>
<meta charset="utf-8" />
<title>jQuery UI Progressbar - Custom Label</title>
<link rel="stylesheet"
href="http://code.jquery.c.../jquery-ui.css" />
<script src="http://code.jquery.c...1.js"></script>
<script src="http://code.jquery.c...i.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<style>
.ui-progressbar {
position: relative;
}
.progress-label {
position: absolute;
left: 50%;
top: 4px;
font-weight: bold;
text-shadow: 1px 1px 0 #fff;
}
</style>
<script>
$(function() {
var progressbar = $( "#progressbar" ),
progressLabel = $( ".progress-label" );

progressbar.progressbar({
value: false,
change: function() {
progressLabel.text( progressbar.progressbar( "value" ) + "%" );
},
complete: function() {
progressLabel.text( "Complete!" );
}
});

function progress() {
var val = progressbar.progressbar( "value" ) || 0;

progressbar.progressbar( "value", val + 1 );

if ( val < 99 ) {
setTimeout( progress, 100 );
}
}

setTimeout( progress, 3000 );
});
</script>
</head>
<body>

<div id="progressbar"><div class="progress-label">Loading...</div></div>


</body>
</html>

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X