利用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 相关文章推荐
当鼠标移动到图片上时跟随鼠标显示放大的图片效果
Jun 06 Javascript
Jquery事件的连接使用示例
Jun 18 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
Feb 05 Javascript
Javascript中With语句用法实例
May 14 Javascript
bootstrap实现弹窗和拖动效果
Jan 03 Javascript
JavaScript实现刷新不重记的倒计时
Aug 10 Javascript
bootstrapValidator.min.js表单验证插件
Feb 09 Javascript
JS实现简单的选择题测评系统代码思路详解(demo)
Sep 03 Javascript
Node.js学习之TCP/IP数据通讯(实例讲解)
Oct 11 Javascript
vue 地图可视化 maptalks 篇实例代码详解
May 21 Javascript
初学vue出现空格警告的原因及其解决方案
Oct 31 Javascript
JavaScript实现五子棋小游戏
Oct 26 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
php中处理模拟rewrite 效果
2006/12/09 PHP
PHP批量生成缩略图的代码
2008/07/19 PHP
PHP处理excel cvs表格的方法实例介绍
2013/05/13 PHP
PHP中COOKIES使用示例
2015/07/26 PHP
PHP获取二维数组中某一列的值集合
2015/12/25 PHP
thinkphp中AJAX返回ajaxReturn()方法分析
2016/12/06 PHP
PHP常用函数总结(180多个)
2016/12/25 PHP
使用apply方法处理数组的三个技巧[译]
2012/09/20 Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
2013/04/02 Javascript
jquery、js调用iframe父窗口与子窗口元素的方法整理
2014/07/31 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2014/09/04 Javascript
深入探密Javascript数组方法
2015/01/08 Javascript
jquery 构造函数在表单提交过程中修改数据
2015/05/25 Javascript
javascript中replace使用方法总结
2017/03/01 Javascript
Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
2017/05/10 Javascript
Windows下使用Nodejs运行js的方法
2017/09/02 NodeJs
js中apply和Math.max()函数的问题及区别介绍
2018/03/27 Javascript
JavaScript多态与封装实例分析
2018/07/27 Javascript
python自动化测试实例解析
2014/09/28 Python
Python中使用SAX解析xml实例
2014/11/21 Python
使用Python操作Elasticsearch数据索引的教程
2015/04/08 Python
Python聊天室程序(基础版)
2018/04/01 Python
pandas 使用apply同时处理两列数据的方法
2018/04/20 Python
python小程序之4名牌手洗牌发牌问题解析
2020/05/15 Python
Nike墨西哥官网:Nike MX
2020/08/30 全球购物
介绍一下游标
2012/01/10 面试题
物流专业毕业生推荐信范文
2013/11/18 职场文书
简短大学毕业感言
2014/01/18 职场文书
有趣的广告词
2014/03/18 职场文书
家长会学生演讲稿
2014/04/26 职场文书
爱之链教学反思
2014/04/30 职场文书
诉前财产保全担保书
2014/05/20 职场文书
2016年机关单位节能宣传周活动总结
2016/04/05 职场文书
导游词之嵊泗列岛
2019/10/30 职场文书
使用react+redux实现计数器功能及遇到问题
2021/06/02 Javascript
Nginx配置之禁止指定IP访问
2022/05/02 Servers