Załóżmy miałem jakiś tekst ze znacznikiem div tak:Jak stworzyć efekt maszyny do pisania w JavaScript, który będzie uwzględniał reguły znaczników html?
<div id="outPutContainer">
<div id="contentDiv" style="display:none;"> This is some cool content... </div>
</div>
Teraz gdybym chciał, mógłbym stworzyć funkcję JavaScript, która będzie drukować znaki jeden na raz i będzie działać dobrze. Przykład poniżej.
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);
Ponownie, powyższa funkcja działa dobrze, jednak powiedzmy chciałem brać pod tagami konto html wewnątrz elementu, w jaki sposób, że praca. Przykładem może być
<div id="contentDiv2"> This is some cool <strong>content</strong>
<p>Paragraph of content</p>
</div>
więc idealny efekt byłby
Jest kilka fajnych zawartości
Ustęp treści
(Efekt maszynistki była inspirowana przez Charlie) „I lubię udzielać kredytu tam, gdzie jest należny kredyt "(: Javascript typing effect
Przypuszczam, że mogę rzucić jsFiddle, aby ułatwić ludziom. http://jsfiddle.net/bJxe3/19/
rozważyć utworzenie metody rekurencyjnej na podstawie waszego, który będzie współpracować z elementów zagnieżdżonych, więc jest to dobry start, po prostu przedłużyć ten kod do analizowania dzieci i sprawdzać każdy dla wpisz, jeśli to tylko tekst użyj swojej prentSequence coś w tym stylu :-) –