jQuery实现的打字机字幕结果,可配置打字速率
记得早年看电视的时辰,电视里无意会呈现笔墨一个紧接一个呈现,陪伴着打字机滴答滴答声音的字幕结果,经常好奇着实现结果。本日周末,没课就趁便想了想用javascript实现打字机结果。用了一个小时阁下,就做出来,代码不外几十行。
先说下思绪:一些典范的嵌套笔墨的html容器标签可所以这样: 1 <font>一行嵌套在font标签里的笔墨</font> 因此,我们起主要取得容器内部内容。这可以通过给容口赋id,然后用jquery的$("#id").html()要领获取到,并将获取到的内容赋与一字符串变量。接着设一偏向向后,步长为1的游标,逐字判定,如果字符"<”跳过,这样做的目标是由于某些嵌套行使标签的环境存在,譬喻: 1 <font>嵌套行使<font color="red">标签</font>,这种环境下 在这种环境下应该跳过内层的标签,由于它们只是提供了一种示意情势,不属于正文。以是此时游标应跳到下一个响应的">"字符后一位的位置。最后我们行使substring()要领截取,工具是之前吸取了标签内部内容的字符串变量,截取内容为起始位置到当前游标地址位置之间的一段文本。这样就能使文本内容逐渐变长。 虽然了,由于要的是打字机结果,以是我们可以行使字符"_"来模仿一个光标。用字符串"_"和""来模仿光标的闪烁结果。这可以通过行使游标与1按位与来实现,由于游标向后游走的特征使得按位与的功效在0与1间调动,故而光标的闪烁结果也出来了,然后将光标附加在当前表现的文本内容尾部即可。 又由于要逐字判定字符范例,以是行使setInterval()要领作为按时器即可,这样做的甜头还可以让我们自界说一个打字机的速率。如下图中typewriter要领的名为speed的参数所示。当游标移动到内部内容的竣事办事,不要忘了挪用clearInterval()消除按时器。 整个函数的代码如下: 1 (function(a) { 用法很简朴,举譬喻下: 1 <p id="p1">一段嵌套在p标志的笔墨</p> 2 <p id="p2">嵌套在p标志里的<font>标志</font></p> 在html页面先引用jquery库,再引入typewriter js文件。然后挪用要领: 1 $("p1").typewriter(100); 即可。 值得留意的是:假如文本内容包罗字符"<"和">",则表现不出来,由于要了解将它们看成html标签而跳过。 请看结果:
来历:http://tudas.cnblogs.com/ (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |