Rechercher : dans
Par :

[PHP/JavaScript] Barre de progression

Dernière réponse le 31 mai 2009 à 19:14:33 b0n0m, le 1 avr 2009 à 22:44:33 
 Signaler ce message aux modérateurs

Bonjour,

Malgré de longues heures de recherches, je n'ai pas réussi à réaliser une barre de progression en fonction du temps.

En effet, le site que je réalise se décompose en plusieurs périodes de même durée. J'aimerais qu'une barre de progression "temporelle" puisse s'afficher, dont le délai de remplissage total soit parametrable.

Auriez-vous quelques pistes à me donner?

Merci d'avance,

b0n0m

Configuration: Mac OS X
Safari 525.27.1

Meilleures réponses pour « [PHP/JavaScript] Barre de progression » dans :
Javascript - Coloration syntaxique dans vos pages web VoirSi vous avez un site web contenant des exemples de code (php, javascript, C#, Delphi, Python...), il peut être intéressant d'avoir une coloration syntaxique. C'est parfois pénible à réaliser, mais il existe une librairie Javascript qui permet de...
Javascript - Introduction au langage Javascript VoirQu'est-ce que le Javascript? Le Javascript est un langage de script incorporé dans un document HTML. Historiquement il s'agit même du premier langage de script pour le Web. Ce langage est un langage de programmation qui permet d'apporter des...
Javascript - L'objet window VoirLes particularités de l'objet window L'objet window est l'objet par excellence dans Javascript, car il est le parent de chaque objet qui compose la page web, il contient donc : l'objet document: la page en elle-même l'objet location: le lieu de...
Javascript - l'objet Array VoirLes particularités de l'objet Array L'objet Array est un objet du noyau Javascript permettant de créer et de manipuler des tableaux. Voici la syntaxe à utiliser pour créer une variable tableau : var x = new Array(element1[, element2, ...]); Si...

1

gaerebut, le 2 avr 2009 à 00:03:01

Salut,

Est-ce qu'il sagirai d'une barre qui évolue dynamiquement ou d'une barre qui évolue quand on rafraichis la page (clique sur un lien par exemple).
Parce que si c'est le deuxième cas, utilise la bibliothèque GD en php, c'est pas bien dur :)

A+

Gaerebut Il y a 2 règles d'or pour réussir dans la vie :
-Règle 1:  ne jamais dire tout ce que l'on sait...
-Règle 2: ...

Répondre à gaerebut

2

b0n0m, le 2 avr 2009 à 00:07:55

Non, hélas, ce serait le premier cas.
Une barre qui évolue dynamiquement. Qui se remplirait, au bout d'un délai modifiable, jusqu'au bout.
Le tout sans recharger la page...

Merci quand meme pour ta réponse rapide !

Répondre à b0n0m

3

gaerebut, le 2 avr 2009 à 00:23:46

Ok,

ben il faut le faire en Javascript alors !
Je veux bien essayer de te préparer un petit truc, tu me dira ce que t'en pense... lol
Tu prendra les idée si c'est ça que tu veux !

Dans 30min je te dirais !

A toute à l'heure

A+

Gaerebut Il y a 2 règles d'or pour réussir dans la vie :
-Règle 1:  ne jamais dire tout ce que l'on sait...
-Règle 2: ...

Répondre à gaerebut

4

gaerebut, le 2 avr 2009 à 03:21:20
  • +1

Bon,

j'ai fais une petite démo, désolé ça a pris un peu plus que 30min finalement ! lol

donc voici le code suivis de la démo (je l'est mis sur mon site pour voir le résultat :p)

<html>
	<head>
		<title>Barre de progression</title>
		<style type="text/css">
			body{
				margin-left: auto;
				margin-right: auto;
				text-align:center;
			}
			
			.cadre{
				margin-top: 250px;
				margin-left: auto;
				margin-right: auto;
				text-align:center;
				height: 50px;
				width: 900px;
				border: 1px solid black;
			}
			
			#barre{
				height: 50px;
				width: 0px;
				background-color: red;
			}
			
			.texte{
				text-align: center;
				font-size: 26px;
				font-weight: bold;
			}
		</style>
		<script type="text/javascript">
			var i=0;
			function progression(timer){
				if(i<=parseInt(document.getElementById('cadre').clientWidth)){
					var compteur=0;
					document.getElementById("barre").style.width=i+"px";
					while(compteur<=100)
						compteur++;
					if(i>40)
						document.getElementById("pourcentage").innerHTML=parseInt(i/(parseInt(document.getElementById('cadre').clientWidth)/100))+"%";
					setTimeout("progression();", timer);
					i++;   
				}
				else
					alert("Chargement Termine! Vous pourriez ensuite envisager d'utiliser une iframe pour afficher votre site ...");
			}
		</script>
	</head>
	<body onload="progression()">
		<noscript class="cadre">Vous devez activer le Javascript pour pouvoir visiter ce site !</noscript>
		<div class="cadre" id="cadre">
			<div id="barre">
				<span class="texte" id="pourcentage"></span>
			</div>
			<br /><br />
			<div class="texte">Chargement en cours ...</div>
		</div>
	</body>
</html>


Comme tu peux le voir, le code javascript est très court !
C'est juste un algorithme pas très compliqué.
Voici la démo : http://infotuto.freeheberg.com/ccm/progression.html

Voila, demande si tu as des questions.
Mais bon, essaye de chercher un peu par toi même avant, il y a rien de meilleur ! ^^

A+

Gaerebut
Il y a 2 règles d'or pour réussir dans la vie :
-Règle 1:  ne jamais dire tout ce que l'on sait...
-Règle 2: ...

Répondre à gaerebut

5

b0n0m, le 2 avr 2009 à 19:42:16

C'est bien ce que je voulais.
Je te remercie, je ne connais pas du tout le JavaScript mais malgré ça, il est facile de comprendre le fonctionnement de l'algorithme.

Merci encore,

b0n0m

Répondre à b0n0m

6

 khalad, le 31 mai 2009 à 19:14:33

Bonjour,

Votre script est très intéressant, mais maintenant, j'aimerais l'adapter en fonction d'une durée personnalisé. J'ai une durée en timestamp, et j'aimerais que cette barre symbolise le temps de progression entre la date 1 et la date 2, et une fois que c'est fini, ca insère dans une base de sonnée MySql les informations.

Je n'ai pas réussi a comprendre comment changer les valeurs de temps pour adapter le chargement.

Si vous pouviez m'aider un peu merci :)

Répondre à khalad
Collection CommentÇaMarche.net