基于jquery的打字机字幕效果

记得以前看电视的时候,电视里偶尔会出现文字一个紧接一个出现,伴随着打字机滴答滴答声音的字幕效果,常常好奇其实现效果。今天周末,没课就顺便想了想用javascript实现打字机效果。用了一个小时左右,就做出来,代码不过几十行。

先说下思路:一些典型的嵌套文字的html容器标签可以是这样:


 代码如下 复制代码
<span>一行嵌套在span标签里的文字</span><p>一段嵌套在p标记的文字</><div>一段嵌套在div标记里的文字</div>

因此,我们首先要取得容器内部内容。这可以通过给容口赋id,然后用jquery的$("#id").html()方法获取到,并将获取到的内容赋与一字符串变量。接着设一方向向后,步长为1的游标,逐字判断,若是字符"<”跳过,这样做的目的是因为某些嵌套使用标签的情况存在,例如:

1 <span>嵌套使用<font color="red">标签</font>,这种情况下2 应该跳过内层的标签,因为内层标签只是提供了一种表现形式</span>

在这种情况下应该路过内层的标签,因为它们只是提供了一种表现形式,不属于正文。所以此时游标应跳到下一个相应的">"字符后一位的位置。最后我们使用substring()方法截取,对象是之前接收了标签内部内容的字符串变量,截取内容为起始位置到当前游标所在位置之间的一段文本。这样就能使文本内容逐渐变长。

当然了,因为要的是打字机效果,所以我们可以使用字符"_"来模拟一个光标。用字符串"_"和""来模拟光标的闪烁效果。这可以通过使用游标与1按位与来实现,因为游标向后游走的特性使得按位与的结果在0与1间变换,故而光标的闪烁效果也出来了,然后将光标附加在当前显示的文本内容尾部即可。

又因为要逐字判断字符类型,所以使用setInterval()方法作为定时器即可,这样做的好处还可以让我们自定义一个打字机的速度。如下图中typewriter方法的名为speed的参数所示。当游标移动到内部内容的结束处事,不要忘了调用clearInterval()消除定时器。

整个函数的代码如下:

用法很简单,举例如下:


 代码如下 复制代码

<p id="p1">一段嵌套在p标记的文字</p>
<p id="p2">嵌套在p标记里的<span>标记</span></p>

在html页面先引用jquery库,再引入typewriter js文件。然后调用方法:


 代码如下 复制代码
$("p1").typewriter(100); $("p2").typewriter(200);

即可。

值得注意的是:如果文本内容包括字符"<"和">",则显示不出来,因为方法会将它们当作html标签而跳过

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索字符串
, 变量
, 标签
, 代码
游标
jquery打字机效果、jquery打字机效果代码、pr字幕打字机效果、edius字幕打字机效果、雷特字幕打字机效果,以便于您获取更多的相关知识。

时间: 2024-11-05 06:37:53

基于jquery的打字机字幕效果的相关文章

利用jQuery实现打字机字幕效果实例代码_jquery

实现效果: 实现原理: 把html里的代码读进来, 然后跳过"<"和">"之间的代码, 顺便保存了内容的格式, 然后一个定时器,逐个输出. 用到的基础知识: jQuery为开发插件提拱了两个方法,分别是:      jQuery.fn.extend(object);     jQuery.extend(object); jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法. jQuery.fn.extend(objec

基于jQuery实现带动画效果超炫酷的弹出对话框(附源码下载)_jquery

这是一款基于jQuery的弹出对话框插件,这个jQuery对话框插件的最大特点是弹出和关闭都带有非常炫酷的动画特效,比如旋转飞入.上下抖动飞入等.效果图如下: 效果演示     源码下载 html代码: <div class="container"> <h1>jQuery gDialog Plugin Exampels</h1> <button class="btn demo-1">Alert Dialog Box&l

基于jQuery创建鼠标悬停效果的方法_jquery

本文实例讲述了基于jQuery创建鼠标悬停效果的方法.分享给大家供大家参考.具体实现方法如下: 1. 创建HTML: <ul> <li><a href="/tv"><img src="images/tv_off.gif" class="mainnav"></a></li> </ul> 2. 选择.mainnav的class: $(".mainnav&qu

基于jquery实现省市联动效果_jquery

由于项目需要需要实现一个省市联动,由于业务有一些特殊的需求,使用现有的插件略有不便,就自己实现了一个. 首先需要保存地区数据的JS数据文件,我这里命名为areaData.js,内容如下: /** * 保存地区信息 * 数据格式 * areaData = [{'pro': '北京', 'cities': {'-1': '北京'}}, {...}] * 直辖市存在-1,表示就是直辖市 */ (function(window) { window.areaData = [{"pro":&quo

基于jquery图片左右滚动效果源码

基于jquery图片左右滚动效果源码 这是一款来自网络的图片可控的左右滚动效果源码,有需要的朋友可以参考一下. <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>slide</title> <script type="text/网页特效" src="http://ajax.googleapis.com/ajax

一个基于jQuery的图片翻转效果

据说,这是一个最近很流行的效果,新浪微博,腾讯微博,都用到了这种效果,本博开博时也追随潮流用上了这种效果,使用方法: 在你的大图链接中加入class="miniImg artZoom"例: <a class="miniImg artZoom" href="hey.jpg"><img title="Mr.Think" src="hey.jpg" alt="Zoom" /&

基于jquery的气泡提示效果_jquery

代码注释已经尽可能的详细了,也不多说了. 初步测试暂未发现大的BUG,总体来说不满意的是鼠标移来移去不断触发气泡时会出现XX为空或不是对象的问题, 虽然不影响效果,但看着IE左下角的黄色警告不爽,暂时不知道如何改进. 加了try/catch解决... 还有就是气泡默认出现在触发对象的正上方,当触发对象在边上时,气泡会有一部分出现在窗口外面......也许这种情况可以让气泡显示在左边或是右边,感觉可能会有些麻烦,就没去弄了,比较懒...... 越用jquery就越喜欢用它... bubble.js

基于Jquery的温度计动画效果_jquery

设计图如下:1.xhml 复制代码 代码如下: <div id="mometer"> <div id="hot"></div> <span> <div id="Hgheader">0℃</div> <div id="Hg"></div> </span> </div> <input name="

基于jquery 返回顶部按钮效果代码

在 IE6 中, 因为不支持浏览器跟随功能, 所以通过跟随页面滚动来虚拟跟随效果, 在滚动页面的时候隐藏回到顶部按钮, 滚动停止时再显示按钮. 参数描述 pageWidth: 页面宽度 (正整数), 如图中 A 所示. nodeId: 回到顶部按钮的 ID (字符串). nodeWidth: 回到顶部按钮的宽度 (正整数), 如图中 B 所示. distanceToBottom: 回到顶部按钮到页面底部的距离 (正整数), 如图中 C 所示. hideRegionHeight: 不显示回到顶部按