Brief-by-Brief text Aussehen, die animation mit CSS

Ich habe eine <div> mit text.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 

Ich würde gerne den text in diesem <div> erscheint auf der Seite ein Zeichen zu einem Zeitpunkt:

L 

Lo 

Lor 

... und so weiter, bis der gesamte text sichtbar ist 

Akzeptable alternative: machen, dass ein Wort in einer Zeit, vermeiden Sie Probleme mit HTML-entities und jumpy Worte, durch weiche Silbentrennung.

Wenn der Benutzer klickt auf den <div> sollte es Abbrechen, die animation und die Anzeige der vollständige text sofort.

Kurz: ich möchte, zu imitieren, eine animation, die Häufig in der japanischen-Stil-adventure-Spiele. (Ich denke, dass dies wird manchmal als eine Schreibmaschine oder teletype-Effekt.) Hier ist ein gutes Beispiel:

http://www.youtube.com/watch?feature=player_detailpage&v=SasgN0lim7M#t=418

Natürlich kann ich ein Skript für die animation mit JavaScript — nur einen timer einrichten und anfügen von Buchstaben (oder Worte) one-by-one.

Aber ist es möglich, das zu tun, was ich brauche mit CSS in den modernen Browsern? (Natürlich bräuchte ich mindestens ändern-element-Klasse in der onclick mit JS, aber das ist OK.)

Update: Zu klären, auf Zeichen vs. Buchstaben und Probleme mit HTML-entities:

Mein text ist übersät mit HTML:

Lo&shy;rem <i>ip&shy;sum</i>.

Naive Ansatz mit dem anfügen von text an das innerHTML Charakter-by-Charakter nicht funktionieren würde:

L 

Lo 

Lo& 

...Doh! 
Ich denke, der beste Ansatz ist, zu tun, was Sie bereits vorgeschlagen - JS mit timer und Anhängen von Buchstaben
Gut, eine Sache ist, der browser weiß besser über das, was ein Brief ist und was nicht als JS-code würde ich schreiben.
Tun Sie einfach jeden Charakter eher als einen Brief, ich denke, das ist eine normale Erfahrung
Nein, ein character-by-character-animation ist nicht möglich, mit CSS. Sie können nur animieren das umschließende Rechteck des Textes zu wachsen, aber das nicht mit einer Schreibmaschinen Effekt.
Wenn Sie wollen, dass es geschieht über css dann warum Sie tagged javascript?

InformationsquelleAutor Alexander Gladysh | 2013-11-04

Schreibe einen Kommentar