Zeige den Text Buchstabe für Buchstabe
Was ist der eleganteste Weg zu zeigen, einen html-text Buchstabe für Buchstabe (wie videogame Untertitel), Verwendung von CSS und JavaScript?
Während ich bin sicher, dass sein können gelöst werden mit Hilfe eines brute-force-Ansatz (sagen, die Aufteilung der Zeichen und drucken Sie Sie mithilfe jQuery.append()
), ich hoffe, es gibt einige CSS3 (pseudo-Elemente?) oder JQuery-magic, um dies zu tun mehr aus.
Extra-Punkte, wenn die Lösung der Auffassung, innere HTML-Inhalt.
InformationsquelleAutor der Frage hpique | 2011-09-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
HTML
Javascript
Anruf mit:
InformationsquelleAutor der Antwort armen.shimoon
Wenn eine glatte offenbaren zumutbar ist, dann denke ich, das sollte ziemlich einfach sein. Ungetestet, aber dies ist, wie ich mir vorstellen das es funktionieren würde
html
css
jQuery
Okay, ich konnte nicht widerstehen und machte ein Turnschuh. Ein kleiner code-Fehler, den ich behoben. Sieht gut aus für mich, obwohl!
http://jsfiddle.net/mrtsherman/6qQrN/1/
InformationsquelleAutor der Antwort mrtsherman
Sollten Sie wirklich nur
append
oder ein - /ausblenden.Jedoch, wenn aus irgendeinem Grund Sie nicht wollen, zu ändern, Ihren text, die Sie verwenden können, diese übermäßig kompliziert-für-keine-guten-Grund Stück code:
HTML:
CSS:
jQuery:
Und schließlich ist hier das fiddle: http://jsfiddle.net/dDGVH/236/
Aber im ernst, glaube nicht, verwenden Sie diese...
InformationsquelleAutor der Antwort Joseph Silber
100% vanilla javascript strict-Modus, unaufdringlich, html,
InformationsquelleAutor der Antwort BEAGM
Als ich dies Tat lief ich in das problem, ein Wort, das springen vom Ende der einen Zeile zum betteln auf die nächste, wie es die Briefe erschienen, dies zu umgehen, ich verwendet, um Seite an Seite umfasst, von denen der text wurde transparent, die andere sichtbar und einfach verschoben Briefe aus dem unsichtbaren span-zu den sichtbaren. Hier ist ein fiddle.
HTML
CSS
JS
InformationsquelleAutor der Antwort hobberwickey
Machte ich eine kleine jquery-plugin. Zuerst müssen Sie sicherstellen, dass der text sichtbar sein, wenn javascript deaktiviert ist, und wenn nicht, wieder den text Buchstabe für Buchstabe.
Nutzung genauso einfach wie diese:
InformationsquelleAutor der Antwort Hazem_M
Diese basiert auf den armen.shimoon ist:
Meldung[index++] war nicht in meiner jquery-Webseite - ich hatte zu ändern, um substr. Auch meine original-text nutzt HTML und text, der eingegeben wird, verwendet die HTML-Formatierung (br, b, etc). Ich habe auch die Funktion zu stoppen, wenn das Ziel versteckt wurde.
InformationsquelleAutor der Antwort Luke Wenke
Müssen Sie wickeln Sie jeden Buchstaben in der span-tag, da anonymer html-Elemente können nicht formatiert werden. Dann zeigen eine Spanne an Zeit. Dies vermeidet einige innerText /innerHTML-Themen (kein DOM reflow?) aber kann zu viel des guten in deinem Fall.
InformationsquelleAutor der Antwort Mikko Ohtamaa
Vanille
könnte man verbessern auf diesen code zu ändern, sodass Sie nur die el einer Zeit aufgrund der Tatsache, dass es dauert ein bisschen Mittel zum ändern der DOM.
InformationsquelleAutor der Antwort JDoe
es ist eine gute Antwort, wie es zu tun hier:
dies ist eine Möglichkeit, die Sie Bearbeiten können jeden Buchstaben mit jedem .animieren () - Eigenschaft zur Verfügung, die nicht mit hacks wie z.B. die Bedeckung der text mit s etc.
InformationsquelleAutor der Antwort David Genger
Ich habe versucht, dieses problem zu lösen und ich kam mit dieser Lösung, die zu funktionieren scheint.
HTML
jQuery
InformationsquelleAutor der Antwort athinats
Gibt es ein paar Bibliotheken, die für das jetzt. Es gibt TypeItJs und TypedJS beide erlauben für html zu sein, in der Sache, dass Sie die Eingabe, sowie zahlreiche andere Methoden, die Unterstützung bei der Schreibmaschine animieren Effekte.
InformationsquelleAutor der Antwort Ryan Schaefer