Ich versuche, einen Schreibeffekt zu erreichen und mein Inhalt besteht aus vielen HTML-Entitäten. Das Problem mit der Verwendung von .html() ist, dass, da es jeden Buchstaben auf einmal ausschreibt, &
dann l
dann t
dann ;
und schließlich würde es zu <
wechseln.Wie Sie Zeilenumbrüche beibehalten, wenn Sie die .text() -Methode für jQuery verwenden?
HTML
<p id="src">
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if lt IE 9]> <html class="no-js lt-ie9"> <![endif]-->
</p>
<p id="typed-paragraph">
<span id="target"></span>
<span id="typed-cursor">|</span>
</p>
CSS
#src {
display: none;
}
jQuery
(function(){
var srcText = $("#src").html();
i = 0;
result = srcText[i];
setInterval(function() {
if(i == srcText.length-1) {
clearInterval(this);
return;
};
i++;
result += srcText[i].replace("\n", "<br />");
$("#target").html(result);
}, 150); // the period between every character and next one, in milliseonds.
})();
Sie das Beispiel hier sehen können http://jsfiddle.net/j9KF5/9/
Aber wenn ich .text() verwende, dann verliere ich alle Zeilenumbrüche.
Letztendlich, wie kann ich entweder das Entitätsproblem oder das Zeilenumbruchproblem beheben?
Versuchen Sie die JavaScript-Funktion unescape() mit dem HTML-Code, den Sie gerade so zu rendern versuchen, dass Ihre HTML-Codes vor dem Drucken durch richtige Tags ersetzt werden. – Dhanasekar
@DhanasekarSM das ist wirklich nicht hilfreich. –
Bitte fügen Sie ein komplettes Beispiel in die Frage selbst ein, nicht nur einen Link. _ "Um klar zu sein, Links zu jfiddle und ähnliche Dienste sind in Ordnung, aber eine Frage oder Antwort sollte für sich allein stehen. Genügend Informationen sollten in jedem Beitrag enthalten sein, um es für zukünftige Besucher noch nützlich zu machen, selbst wenn alle Links brechen sollten, mit anderen Worten. "http://meta.stackexchange.com/a/151616/133242 –