Supponiamo che ho avuto qualche testo da un tag div come questo:Come creare un effetto typewriter in JavaScript che terrà conto delle regole dei tag html?
<div id="outPutContainer">
<div id="contentDiv" style="display:none;"> This is some cool content... </div>
</div>
Ora, se avessi voluto, avrei potuto creare una funzione JavaScript che stamperà i caratteri uno alla volta e funzionerà bene. Esempio di seguito.
function printSentence(inner, outer, index, speed) {
var input = document.getElementById(inner).innerHTML;
var timer = setInterval(function(){
document.getElementById(outer).innerHTML+=input.charAt(index);
index++;
if(index == sentence.length -1){
printResume(inner, outer, index+1, speed);
}else{
clearInterval(timer);
}
}, speed);
}
printSentence("contentDiv", "outPutContainer", 0, 100);
Anche in questo caso, la funzione di cui sopra funziona bene, però diciamo che ho voluto prendere in considerazione i tag html all'interno dell'elemento, come vorrei che il lavoro. Un esempio potrebbe essere
<div id="contentDiv2"> This is some cool <strong>content</strong>
<p>Paragraph of content</p>
</div>
Così l'effetto ideale sarebbe
Questo è un po 'di fresco contenuti
Paragrafo di contenuti
(L'effetto macchina da scrivere è stato ispirato da Charlie) "I come concedere crediti laddove il credito è dovuto "(: Javascript typing effect
Suppongo di poter inserire un jsFiddle per rendere più facile la gente. http://jsfiddle.net/bJxe3/19/
considerare la creazione di metodo ricorsivo, sulla base di che lavorerà con elementi annidati, quindi è buon punto di partenza, basta estendere questo codice per analizzare i bambini e controllare ogni per digita, se è solo un testo usa il tuo prentSequence come questo :-) –