gpt4 book ai didi

javascript - 为 jQuery 使用 .text() 方法时如何保持换行符?

转载 作者:行者123 更新时间:2023-12-03 12:13:00 25 4
gpt4 key购买 nike

我正在尝试实现打字效果,我的内容由很多 HTML 实体组成。使用 .html() 的问题在于,因为它一次写出每个字母,所以会输入 &然后 l然后 t然后 ;最后会变成< .

HTML

<p id="src">
&lt;!DOCTYPE html&gt;
&lt;!--[if lt IE 7]&gt; &lt;html class=&quot;no-js lt-ie9 lt-ie8 lt-ie7&quot;&gt; &lt;![endif]--&gt;
&lt;!--[if IE 7]&gt; &lt;html class=&quot;no-js lt-ie9 lt-ie8&quot;&gt; &lt;![endif]--&gt;
&lt;!--[if IE 8]&gt; &lt;html class=&quot;no-js lt-ie9&quot;&gt; &lt;![endif]--&gt;
&lt;!--[if lt IE 9]&gt; &lt;html class=&quot;no-js lt-ie9&quot;&gt; &lt;![endif]--&gt;
</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.
})();

你可以在这里看到它的例子
http://jsfiddle.net/j9KF5/9/

但是如果我使用 .text() 那么我会丢失所有的换行符。

最终,我如何解决实体问题或换行问题?

最佳答案

您无需担心 HTML 实体或任何复杂的字符串替换。

你只需要一点 CSS:

#target {
white-space: pre;
}

并使用 .text()方法:
(function(){
var srcText = $("#src").text().trim();
i = 0;
result = srcText[i];
setInterval(function() {
if(i == srcText.length-1) {
clearInterval(this);
return;
};
i++;
result += srcText[i];
$("#target").text(result);

}, 150); // the period between every character and next one, in milliseonds.
})();

http://jsfiddle.net/mattball/vsb9F/

关于javascript - 为 jQuery 使用 .text() 方法时如何保持换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65221949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com