Automatisation barre de progression JS
Résolu/Fermé
shoub-tcy
Messages postés
169
Date d'inscription
mardi 6 mars 2012
Statut
Membre
Dernière intervention
23 mai 2012
-
31 mars 2012 à 18:33
ach32 Messages postés 47 Date d'inscription mercredi 20 avril 2016 Statut Membre Dernière intervention 19 septembre 2017 - 6 oct. 2016 à 09:55
ach32 Messages postés 47 Date d'inscription mercredi 20 avril 2016 Statut Membre Dernière intervention 19 septembre 2017 - 6 oct. 2016 à 09:55
A voir également:
- Javascript barre de progression
- Telecharger javascript - Télécharger - Langages
- Windows 11 barre des taches a gauche - Guide
- Javascript round ✓ - Forum Javascript
- Barre verticale mac - Forum MacOS
- Barré whatsapp - Guide
2 réponses
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
Modifié par Atropa le 31/03/2012 à 18:51
Modifié par Atropa le 31/03/2012 à 18:51
bonjour,
il suffit d'appeler la fonction dans des balises script placées juste après la balise center
comme ceci
il suffit d'appeler la fonction dans des balises script placées juste après la balise center
[...] <center><br><br> <div id="empty" align="left"> <div id="d2"> <div id="d1"> </div></div></div></center><br><br></div> </center> <script type="text/javascript"> <!-- prog(); //--> </script> </body> </html>
comme ceci
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
Modifié par Atropa le 31/03/2012 à 20:46
Modifié par Atropa le 31/03/2012 à 20:46
pour ce qui est des animation je te conseil de les gérer autrement
l'utilisation du l'heure en milliseconde et de la fonction setInterval() permettent de gérer plus précisément la durée et le taux de rafraichissement et permettent d'avoir des animations plus fluide.
par contre il est plus difficile de modifier le cour de l'animation par des évènement extérieur
j'ai repris ton code pour te donner un exemple
l'utilisation du l'heure en milliseconde et de la fonction setInterval() permettent de gérer plus précisément la durée et le taux de rafraichissement et permettent d'avoir des animations plus fluide.
par contre il est plus difficile de modifier le cour de l'animation par des évènement extérieur
j'ai repris ton code pour te donner un exemple
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>Barre de progression</title> <style type="text/css"> #empty { background-color: rgba(132,125,255,0.2); border: 1px solid rgb(231,179,58); border-radius: 20px; height: 20px; width: 200px; padding: 0px; margin: auto; margin-top: 25%; } #d2 { position: absolute; overflow: hidden; clip: rect(0px,0px,20px,0px); background-color: rgba(71,62,255,0.7); height:20px; width: 200px; padding:0px; border-radius: 20px; } </style> <script type="text/javascript"> <!-- function mTimeStamp() { var time = new Date(); time = Date.parse(time)+time.getMilliseconds() return time; } function progBar() { elm = document.getElementById('d2'); elm.timeStart = mTimeStamp(); var duree = 1000; var valEnd = 200; var valActu = 0; elm.interval = setInterval(function() { valActu = (mTimeStamp() - elm.timeStart) / duree * valEnd; if(valActu > valEnd) valActu = valEnd; elm.style.clip= 'rect(0px,' + valActu + 'px,20px,0px)'; if(valActu == valEnd) clearInterval(elm.interval); },10); } //--> </script> </head> <body> <div id="empty"> <div id="d2"></div> </div> <script type="text/javascript"> <!-- progBar(); //--> </script> </body> </html>
shoub-tcy
Messages postés
169
Date d'inscription
mardi 6 mars 2012
Statut
Membre
Dernière intervention
23 mai 2012
2
31 mars 2012 à 20:14
31 mars 2012 à 20:14
Merci!!
C'est encore mieux que ce que j'espérais :)
C'est encore mieux que ce que j'espérais :)
ach32
Messages postés
47
Date d'inscription
mercredi 20 avril 2016
Statut
Membre
Dernière intervention
19 septembre 2017
6 oct. 2016 à 09:55
6 oct. 2016 à 09:55
Bonjour j'ai le même problème avec la barre de chargement
En faisant des recherches sur internet pour avoir un tutoriel qui me permettrait de faire une barre de progression pendant l'opload d'un fichier en php,
je suis tombé sur un qui donne un cercle en rotation. Mais malheuresement je n'arrive pas à l'adapter à mon code.
Ma requète ($insertion) consiste à charger les informations d'un fichier txt dans ma base de données mysql, et celà peut prendre plusieurs minutes en fonction du nombre de ligne de mon fichier txt.
Comment faire pour la barre de chargement tourne pendant que ma requète est en cours d'exécution ?
Voici le code HTML qui contient le cercle en rotation:
Voici le code css qui permet de faire tourner le cercle:
Voici le code php qui contient la requète $insertion:
Je voudrais que le cercle tourne pendant que la requete $insertion charge les informations dans la base de données.
A l'aide s'il vous plait
En faisant des recherches sur internet pour avoir un tutoriel qui me permettrait de faire une barre de progression pendant l'opload d'un fichier en php,
je suis tombé sur un qui donne un cercle en rotation. Mais malheuresement je n'arrive pas à l'adapter à mon code.
Ma requète ($insertion) consiste à charger les informations d'un fichier txt dans ma base de données mysql, et celà peut prendre plusieurs minutes en fonction du nombre de ligne de mon fichier txt.
Comment faire pour la barre de chargement tourne pendant que ma requète est en cours d'exécution ?
Voici le code HTML qui contient le cercle en rotation:
<section class="section section-2"> <span class="loader loader-double"></span> Chargement du DIPE... </section>
Voici le code css qui permet de faire tourner le cercle:
body{ margin: 0; padding: 0; font-family: sans-serif;; font-size: 40px; color: #FFF; text-align: center; } .section{ background-color: #16a085; height: 500px; line-height: 500px; } .loader{ width: 50px; height: 50px; display: inline-block; vertical-align: middle; position: relative; } .loader-quart{ border-radius: 50px; border: 6px solid rgba(255,255,255, 0.4); } .loader-quart:after{ content: ''; position: absolute; top: -6px; left: -6px; bottom: -6px; right: -6px; border-radius: 50px; border: 6px solid transparent; border-top-color: #FFF; -webkit-animation: spin 1s linear infinite; animation:spin 1s linear 0s infinite; } @-webkit-keyframes spin{ 0%{ -webkit-transform: rotate(0deg); transform: rotate(0deg); }100%{ -webkit-transform: rotate(360deg); transform: rotate(360deg);} } @keyframes spin{ 0%{transform: rotate(0deg); } 100%{transform: rotate(360deg);} } .section-2{ background-color: #2980b9; } .loader-double{ border-radius: 50px; border: 6px solid transparent; border-top-color: #FFF; border-bottom-color:#FFF; -webkit-animation: spin 1s linear infinite; animation: spin 1s linear infinite; } .loader-double:after{ content: ''; position: absolute; top: 5px; left: 5px; bottom: 5px; right: 5px; border-radius: 50px; border: 6px solid transparent; border-top-color: #FFF; border-bottom-color: #FFF; opacity: 0.6; -webkit-animation: spin 1s linear infinite; animation:spin 1s linear infinite; }
Voici le code php qui contient la requète $insertion:
$recup_id = mysql_query(" SELECT id_employeur FROM employeur WHERE login_empl = '$login' "); $data_id = mysql_fetch_assoc($recup_id); $id_employeur = $data_id['id_employeur']; $id_employeur = intval($id_employeur); if (isset($_POST['submit'])) { $fichier=$_FILES['fichier']['name']; move_uploaded_file($_FILES['fichier']['tmp_name'],"dipes/".$fichier); $fp = fopen('dipes/'.$fichier,'r'); //lecture du fichier if ($fp) { while (!feof($fp)){ //on parcourt toutes les lignes $ligne=fgets($fp); // lecture du contenu de la ligne $code=substr($ligne,0,3); $code = str_pad($code, 3, " ", STR_PAD_LEFT); $num_dipe = substr($ligne,3,6); $num_dipe = str_pad($num_dipe, 5, " ", STR_PAD_LEFT); $cle = substr($ligne,8,1); $cle = str_pad($cle, 1, " ", STR_PAD_LEFT); $contrib = substr($ligne,9,14); $contrib = str_pad($contrib, 14, " ", STR_PAD_LEFT); $mois = substr($ligne,23,2); $mois = str_pad($mois, 2, " ", STR_PAD_LEFT); $matri_empl = substr($ligne,25,11); $matri_empl = str_pad($matri_empl, 11, " ", STR_PAD_LEFT); $regime = substr($ligne,36,1); $regime = str_pad($regime, 1, " ", STR_PAD_LEFT); $annee = substr($ligne,37,4); $annee = str_pad($annee, 4, " ", STR_PAD_LEFT); $matri_ass = substr($ligne,41,11); $matri_ass = str_pad($matri_ass, 11, " ", STR_PAD_LEFT); $nbr_jr = substr($ligne,52,2); $nbr_jr = str_pad($nbr_jr, 2, " ", STR_PAD_LEFT); $sal_brut = substr($ligne,54,10); $sal_brut = str_pad($sal_brut, 10, " ", STR_PAD_LEFT); $sal_exep = substr($ligne,64,10); $sal_exep = str_pad($sal_exep, 10, " ", STR_PAD_LEFT); $sal_tax = substr($ligne,74,10); $sal_tax = str_pad($sal_tax, 10, " ", STR_PAD_LEFT); $sal_cot = substr($ligne,84,10); $sal_cot = str_pad($sal_cot, 10, " ", STR_PAD_LEFT); $sal_plaf = substr($ligne,94,10); $sal_plaf = str_pad($sal_plaf, 10, " ", STR_PAD_LEFT); $irpp = substr($ligne,104,8); $irpp = str_pad($irpp, 8, " ", STR_PAD_LEFT); $taxe_com = substr($ligne,112,6); $taxe_com = str_pad($taxe_com, 6, " ", STR_PAD_LEFT); $num_ligne = substr($ligne,118,2); $num_ligne = str_pad($num_ligne, 2, " ", STR_PAD_LEFT); $matri_int = substr($ligne,120,14); $matri_int = str_pad($matri_int, 14, " ", STR_PAD_LEFT); $noms = substr($ligne,134,60); $noms = str_pad($noms, 60, " ", STR_PAD_LEFT); $date = date('d/m/Y'); echo " <section class="section section-2"> <span class="loader loader-double"></span> Chargement du DIPE... </section> "; $insertion = mysql_query(" INSERT INTO tcompte_assure (id_employeur, codeenreg, noms,numdipe,clenumdipe,numero_contrib,moisdipe,anneedipe,matricule_empl,regime,numassure,nombrejour,salairebrut,salaireexeptionel,salairetaxable,salairecotcnps,salairecotplafonne,irpp,retenutaxecom,numligne,matriculeinterne,date_enreg) VALUES ($id_employeur, '$code', '$noms', '$num_dipe', '$cle', '$contrib', '$mois', '$annee', '$matri_empl', '$regime', '$matri_ass', '$nbr_jr', '$sal_brut', '$sal_exep', '$sal_tax', '$sal_cot', '$sal_plaf', '$irpp', '$taxe_com', '$num_ligne', '$matri_int', '$date') ") or die(mysql_error()) ; if ($insertion) { $nettoyage = mysql_query("DELETE FROM tcompte_assure WHERE moisdipe = '' AND anneedipe = '' "); ?> <script type="text/javascript"> window.location.href = "initialiser_dipe.php" ; </script> <?php }else{ ?> <script type="text/javascript"> window.location.href = "initialiser_dipe.php" ; </script> <?php } } } } ?>
Je voudrais que le cercle tourne pendant que la requete $insertion charge les informations dans la base de données.
A l'aide s'il vous plait
31 mars 2012 à 19:00
C'est parfait merci pour ton conseil. C'est résolu !!