2010-01-08 7 views
1

J'utilise la barre de progression jQuery. Cependant, je veux l'utiliser plus comme un fileur. Je ne peux pas vraiment prédire quand la tâche sera terminée. J'ai donc besoin d'une barre de progression non déterminée.jquery barre de progression: non définie

jQuery UI progress bar ne fonctionne que lorsque vous savez combien de temps il vous reste à faire. Est-il possible d'utiliser la barre de progression de l'interface jQuery de telle sorte que lorsque la barre atteint 100%, elle recommence.

J'ai tout le thème roulé donc ce serait bien si je pouvais faire fonctionner l'interface de barre de progression jquery plutôt que d'utiliser un plugin différent.

Répondre

0

Vous pouvez définir un délai pour augmenter la valeur de la barre de progression de 5% toutes les quelques secondes et si elle atteint 100% à partir de 0 .. ou inverser l'incrément jusqu'à -5% pour qu'il monte et descende ...

quelque chose comme

function progressTimeout() { 
    setTimeout(
      function(){ 
         var pbar = $("#progressbar"); 
         var pvalue = pbar.progressbar('option','value'); 
         if (pvalue == 100) pvalue = 0; 
         pbar.progressbar('option', 'value',pvalue + 10); 

         if (!/*check if action is complete*/) 
          setTimeout(progressTimeout, 2000); 
         }, 
      2000 
     ); 
} 
2

en conception de l'interface utilisateur, s'il vous plaît ne changez pas la valeur d'une barre de progression déterminée pour représenter une période indéterminée un: il est très irritant pour voir une barre de progression va apparemment à l'achèvement et "... Nan! »Les barres de progression indéterminées sur Mac OS X et Windows ont des représentations visuelles distinctes, tout comme les vôtres.

1

http://www.ajaxload.info/ vous permet de créer plusieurs types de barres de progression et de rotation indéfinies personnalisées. Si vous voulez vraiment utiliser jQuery, je suppose que vous pouvez créer un thème personnalisé qui utilise un arrière-plan de type spinner animé pour la barre de progression.