À mon avis, le moyen le plus simple est une if
/ else
déclaration.
Cependant, un peu de maths pour calculer la longueur des points et la fameuse Array.join
- pirater pour répéter le point-char, devrait aussi faire l'affaire.
function dotdotdot(cursor, times, string) {
return Array(times - Math.abs(cursor % (times * 2) - times) + 1).join(string);
}
var cursor = 0;
setInterval(function () {
document.body.innerHTML = dotdotdot(cursor++, 3, '.')
}, 100);
Vous pourriez améliorer un peu la lisibilité, en enveloppant la partie "count-up-and-down" et "string-repetition" dans des fonctions séparées.
2 votes
Si vous ajoutez simplement "." toutes les 100 ms au contenu du span, cela ne fonctionne-t-il pas ? span.innerHTML += "." ;
51 votes
J'aime ce titre intuitif.
1 votes
Excellent titre ! !!