Vous remarquerez que votre code utilise setInterval()
. Cette fonction JavaScript globale est utilisée pour exécuter périodiquement du code à un intervalle de temps donné. Il prend deux arguments pour son utilisation typique (ce qui est la façon dont vous l'utilisez ici). Il renvoie un identifiant unique qui peut être utilisé pour identifier votre fonction d'intervalle particulière (puisque plusieurs fonctions peuvent être configurées simultanément).
Le premier argument est une fonction à exécuter sur l'intervalle. Votre fonction est la fonction anonyme:
function() {
value = ((+value) + .1).toFixed(1);
if (value == 80.5) clearInterval(interval);
$('p').html(value + '%');
}
Cette fonction augmentera le pourcentage de progression de chaque exécution.
Le deuxième argument est un nombre entier pour le nombre de millisecondes (millièmes de seconde) à laisser s'écouler avant que la fonction du premier argument soit exécutée. C'est la partie clé de votre question, je crois. Votre code a 2
(sur la dernière ligne de votre code posté), donc il attendra 2 millisecondes avant d'exécuter votre fonction (qui incrémente le pourcentage de progression), puis il attendra 2 millisecondes de plus, puis exécutera la même fonction, etc. En changeant simplement la valeur du second argument, vous pouvez changer à quelle vitesse ou à quelle vitesse votre fonction s'exécute à chaque fois, ce qui change la vitesse à laquelle votre pourcentage augmente ou ralentit. Donc, si vous le définissez sur 500
, alors setInterval
attendra une demi-seconde avant chaque exécution de la fonction.
Vous pouvez lire sur les autres fonctions de temporisateur JavaScript here, en particulier sur clearInterval()
, que votre code utilise dans la fonction anonyme pour terminer l'intervalle lorsque vous atteignez 80.5%
.
augmenter simplement le dernier numéro, la '2' à la fin de l'intervalle? – adeneo
@adeneo ne comptant pas de fin et aussi resulr montrant plus d'un chiffre comme ceci 99.561321654651615% :( – Muhammed