Quelle est la façon de changer la couleur du texte lettre par lettre ?
P粉613735289
2023-08-31 13:03:36
<p>Je souhaite que chaque lettre du texte change de couleur une par une, l'une après l'autre. Par exemple:
Bonjour le monde
"H" deviendra rouge en premier, puis "E", puis "L", et ainsi de suite. </p>
<p>J'ai essayé d'envelopper chaque lettre dans un span et d'utiliser jquery et une boucle. Mais ça ne marche pas. </p>
<p>
<pre class="brush:js;toolbar:false;">$("span").ready(function() {
var lettres = $("span").length;
pour (soit i = 0; i <= lettres; i++) {
$("envergure")[i].css("couleur", "rouge");
}
})</pré>
<pre class="brush:html;toolbar:false;"><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"> ;</script>
<span>H</span>
<span>E</span>
<envergure>L</envergure>
<envergure>L</envergure>
<span>O</span>
<span>, </span>
<span>W</span>
<span>O</span>
<span>R</span>
<envergure>L</envergure>
<span>D</span></pre>
</p>
Vous êtes sur la bonne voie, mais vous devez retarder les changements
color
的时间(比如说100ms
),这样效果才能被看到。为了延迟,我们使用了接受2个参数的方法setTimeout
:100ms
).Lors de la sélection d'un temps de retard, tel que
100ms
,我们应该将其乘以当前字母的索引(准确地说是当前的span
, nous devons le multiplier par l'index de la lettre actuelle (lespan
actuel pour être précis) afin que l'effet puisse être vu.Ceci est une démo en direct :
Dans jQuery, vous pouvez utiliser la fonction
each
pour parcourir tous les éléments d'un sélecteurPour "attendre" entre deux changements de couleur, vous pouvez embarquer les changements CSS dans une
setTimeout
fonction, liée à l'index de chaque boucle