Je cherche à créer un effet d’animation sur la dernière ligne d’un paragraphe qui est enveloppé dans une div. Il y a quelques liens dedans donc ça ressemble un peu à ça:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer eu dui et erat
Ainsi, quel que soit le dernier saut de ligne lors du chargement de la page, je souhaite sélectionner la dernière ligne avec une étendue pour lui donner l’effet.
J’adorerais ne pas avoir à utiliser jQuery même s’il me faut peut-être …
Essayez d’utiliser .textContent
Ssortingng.prototype.split()
avec RegExp
/\n/
, Array.prototype.slice()
avec le paramètre -1
pour sélectionner le dernier caractère de nouvelle ligne, Ssortingng.prototype.replace()
pour remplacer le texte sélectionné dans div
élément span
ayant sélectionné du texte
var div = document.getElementById("wrapper"); var text = div.childNodes[0].childNodes[0].textContent.split(/\n/).slice(-1)[0]; div.innerHTML = div.innerHTML.replace(new RegExp("("+text+")"), "$1")
div { white-space:pre; } div span { font-size:18px; color: purple; }
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer eu dui et erat
pendant que vous avez tagué jquery .. ceci est un code jquery .. mais assurez-vous d’inclure jquery en premier
var parText = $('#wrapper p').text(); // get text of p var parSplit = parText.split("\n"); // split text by \n var lastLine = parSplit[parSplit.length-1]; // get last line parText.replace(lastLine , ''); // replace last line with nothing $('#wrapper p').append(''+lastLine+''); // append the last line with `lastline` and give it a style you need
DEMO
une autre démo avec effet slideDown