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


Posted in Javascript onSeptember 02, 2016

实现效果:

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

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

实现原理:

把html里的代码读进来,

然后跳过“<”和“>”之间的代码,

顺便保存了内容的格式,

然后一个定时器,逐个输出。

用到的基础知识:

jQuery为开发插件提拱了两个方法,分别是:

     jQuery.fn.extend(object);

    jQuery.extend(object);

jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。

jQuery.fn.extend(object);给jQuery对象添加方法。

$.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效。 

如扩展$.fn.abc() 

那么你可以这样子:$("#div").abc();

$.fx是指jquery的特效。 

如使用显示、滑动、淡入淡出、动画等。 

$.fx.off可以关闭动画,其实是直接显示结果。

实现代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<meta name="keyword" content="">
<meta name="description" content="">
</head>
<body>
<div class="autotype" id="autotype">
	<p>一场雨把我困在这里</p>
	<br/>
	<p>你温柔的表情</p>
	<p>会让我伤心</p>
	<br/>
	<p>六月的雨,只是无情的你~</p>
</div>
<script src="http://file2.ci123.com/ast/js/jquery_172.js"></script>
<script>

	$.fn.autotype = function(){
		var $text = $(this);
		console.log('this',this);
		
		var str = $text.html();//返回被选 元素的内容
		
		var index = 0;
		var x = $text.html('');
		//$text.html()和$(this).html('')有区别
		
		var timer = setInterval(function(){
			//substr(index, 1) 方法在字符串中抽取从index下标开始的一个的字符
			var current = str.substr(index, 1);
			
			if(current == '<'){
			//indexOf() 方法返回">"在字符串中首次出现的位置。
				index = str.indexOf('>', index) + 1;
			}else{
				index ++ ;
			}
			
			//console.log(["0到index下标下的字符",str.substring(0, index)],["符号",index & 1 ? '_': '']);
			//substring() 方法用于提取字符串中介于两个指定下标之间的字符
			$text.html(str.substring(0, index) + (index & 1 ? '_': ''));
			if(index >= str.length){
				clearInterval(timer);
			}
		},100);
	};
	
	$("#autotype").autotype();
</script>
</body>
</html>

拓展

再简单介绍下jQuery的$.extend

$.extend

扩展jQuery对象本身。

用来在jQuery命名空间上增加新函数。

如下:在jQuery命名空间上增加两个函数。

<html>
<head>
<meta charset="utf-8">
</head>
<body>
<script src="http://file2.ci123.com/ast/js/jquery_172.js"></script>
<script>
	
	jQuery.extend({
		min:function(a, b){return a < b ? a : b;},
		max:function(a, b){return a < b ? a : b}
	});
	
	alert("min" + "——" + jQuery.min(1, 2));
	alert("max" + "——" + jQuery.max(6, 8));
</script>
</body>
</html>

总结

大家可以自己操作看下效果,这样更容易理解学习,以上就是这篇文章的全部内容,希望对大家的学习和工作能有所帮助,如果有疑问可以留言交流。

Javascript 相关文章推荐
javascript数组的扩展实现代码集合
Jun 01 Javascript
解决jquery的datepicker的本地化以及Today问题
May 23 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
Apr 08 Javascript
javascript 事件处理示例分享
Dec 31 Javascript
js给selected添加options的方法
May 06 Javascript
javascript实现获取字符串hash值
May 10 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
Jul 07 Javascript
AngularJS 执行流程详细介绍
Aug 18 Javascript
jquery——九宫格大转盘抽奖实例
Jan 16 Javascript
Angular.js自定义指令学习笔记实例
Feb 24 Javascript
Node.js对MongoDB进行增删改查操作的实例代码
Apr 18 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
Nov 12 Javascript
AngularJs  Using $location详解及示例代码
Sep 02 #Javascript
基于JS实现类似支付宝支付密码输入框
Sep 02 #Javascript
JavaScript中Number对象的toFixed() 方法详解
Sep 02 #Javascript
Node.js实现兼容IE789的文件上传进度条
Sep 02 #Javascript
AngularJs  Understanding Angular Templates
Sep 02 #Javascript
jquery 中toggle的2种用法详解(推荐)
Sep 02 #Javascript
浅谈JS中的三种字符串连接方式及其性能比较
Sep 02 #Javascript
You might like
收音机另类DIY - 纸巾盒做外壳
2021/03/02 无线电
PHP编码转换
2012/11/05 PHP
Yii2隐藏frontend/web和backend/web的方法
2015/12/12 PHP
详解php魔术方法(Magic methods)的使用方法
2016/02/14 PHP
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
javascript 三种方法实现获得和设置以及移除元素属性
2013/03/20 Javascript
JS复制到剪贴板示例代码
2013/10/30 Javascript
json属性名为什么要双引号(个人猜测)
2014/07/31 Javascript
js图片轮播特效代码分享
2015/09/07 Javascript
详解javascript实现瀑布流绝对式布局
2016/01/29 Javascript
JS实现简单的tab切换选项卡效果
2016/09/21 Javascript
用v-html解决Vue.js渲染中html标签不被解析的问题
2016/12/14 Javascript
关于Vue Webpack2单元测试示例详解
2017/08/14 Javascript
使用JS动态显示文本
2017/09/09 Javascript
详解React Native顶|底部导航使用小技巧
2017/09/14 Javascript
JS页面动态绘图工具SVG,Canvas,VML介简介
2020/10/16 Javascript
Python的一些用法分享
2012/10/07 Python
Python中的pack和unpack的使用
2018/03/12 Python
对pandas通过索引提取dataframe的行方法详解
2019/02/01 Python
Python Socketserver实现FTP文件上传下载代码实例
2020/03/27 Python
关于Python3的import问题(pycharm可以运行命令行import错误)
2020/11/18 Python
X/HTML5 和 XHTML2
2008/10/17 HTML / CSS
纪伊国屋泰国网上书店:Kinokuniya泰国
2017/12/24 全球购物
几个常见的软件测试问题
2016/09/07 面试题
服务中心夜班服务员岗位职责
2013/11/27 职场文书
《社戏》教学反思
2014/04/15 职场文书
语文教育专业求职信
2014/06/28 职场文书
高中生逃课检讨书
2014/10/10 职场文书
离婚答辩状怎么写
2015/05/22 职场文书
交通事故被告代理词
2015/05/23 职场文书
完美处理python与anaconda环境变量的冲突问题
2021/04/07 Python
Python实现Telnet自动连接检测密码的示例
2021/04/16 Python
python编写五子棋游戏
2021/05/25 Python
python字典进行运算原理及实例分享
2021/08/02 Python
SQL实现LeetCode(196.删除重复邮箱)
2021/08/07 MySQL