Javascript-附加文本和html
Javascript - append pieces of text and html
我正在尝试构建一个具有"终端外观"的网页,其中似乎正在键入文本。
我通过将.txt文件内容加载到字符串var中,设置一个"速度"(int)来定义一次读取多少个字符,然后在setInterval
中调用write函数来实现这一点。在写入功能上,我选择用$("#console").append(text.substring(index, (index+speed)));
写入的文本位,然后用index += speed
递增
然而,.txt内容有纯文本和Html标记(用于格式化文本),当这些内容被键入到浏览器中时,Html标记不会正确显示。例如,我的txt上看起来像<span> This is a test </span>
的一段文本将显示为> This is a test! </span>
(而不仅仅是"这是一个测试")
如果我使用.html(str)
并将子字符串作为.substring(0, index)
传递,内容将被正确键入,但这对我来说不起作用,因为我想将多个.txt加载到同一页面中,而.html()只是替换整个内容。
我知道这有点令人困惑,也很难解释,所以你可以问任何你不理解的问题。
您可以查看TypedJS
它依赖于jQuery
希望它能有所帮助!
您可能需要解码HTML字符串。试试这个:
var decodedString = $("<div />").html(text.substring(index, (index+speed))).html();
$("#console").append(decodedString);
这基本上创建了一个div,解析并创建该div中的html。然后我们从div中获取html,并将其附加到我们实际想要的位置。
编辑:
所以你的问题是你正在把<span> This is a test </span>
分解成更小的块。附加任何部分html都不会起作用。jQuery无法正确解析。<spa
+n>stuff
+</sp
+an>
无法单独插入并期望其正确呈现。有时jQuery会尝试填补缺失的部分,但并不依赖于此。相反,把你的文本分成几个跨度:
var decoded1 = $("<div />").html("<span> Thi</span>").html();
var decoded2 = $("<div />").html("<span>s is a tes</span>").html();
var decoded3 = $("<div />").html("<span>t </span>").html();
$("#console").append(decoded1);
$("#console").append(decoded2);
$("#console").append(decoded3);
然后,当然你将不再需要解码任何东西。你可以直接附加这些片段,它就会起作用。
$("#console").append("<span> Thi</span>");
$("#console").append("<span>s is a tes</span>");
$("#console").append("<span>t </span>");
- 用JavaScript替换Android WebView模板上的html文本
- 仅IE8 html文本框中的字符
- HTML文本框中的javascript数字
- HTML文本输入大小
- 如何放置ÅÄ和#214;在javascript数组中,然后将其与html文本进行比较
- 如何以非编程方式国际化HTML文本
- 在 PHP 块中使用 Javascript 设置 HTML 文本框的值(使用 echo)
- jQuery在用新文本替换HTML文本时淡出HTML文本,而不是仅显示
- HTML文本框,它接受电话号码,并以美国电话号码格式显示
- Javascript按钮,在html文本区域中插入一个大黑点(•)
- 更换163;使用javascript从html文本区域中提取字符
- 单击或点击切换HTML文本
- 单击即可编辑HTML文本
- 分析Adobe InDesign的HTML文本——其他标记中的标记
- 如何将mysql查询的结果获取到html文本框中
- 当使用javascript/jquery添加值时,html文本输入表显示不正确
- 如何将 HTML 文本同步并突出显示到音频
- 如何使用 JQuery 从相对元素获取 html 文本
- 根据用户选择的输入编写 html 文本
- MVC 4:使用 JQUERY 和 PartViewResult 动态创建 HTML 文本框.如果代码是动态添加的,如何