利用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中void(0)的具体含义解释
Feb 27 Javascript
JS request函数 用来获取url参数
May 17 Javascript
JavaScript常用对象的方法和属性小结
Jan 24 Javascript
一个背景云变换js特效 鼠标移动背景云变化
Dec 28 Javascript
JavaScript建立一个语法高亮输入框实现思路
Feb 26 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
Aug 22 Javascript
基于JavaScript创建动态Dom
Dec 08 Javascript
js模式化窗口问题![window.dialogArguments]
Oct 30 Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
Dec 25 jQuery
浅谈JavaScript面向对象--继承
Mar 20 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
Apr 20 Javascript
基于vue和websocket的多人在线聊天室
Feb 01 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
同时提取多条新闻中的文本一例
2006/10/09 PHP
PHP实现提取一个图像文件并在浏览器上显示的代码
2012/10/06 PHP
List Installed Software Features
2007/06/11 Javascript
轻轻松松学JS调试(不下载任何工具)
2010/04/14 Javascript
jQuery 创建Dom元素
2010/05/07 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
js实现网站首页图片滚动显示
2013/02/04 Javascript
用console.table()调试javascript
2014/09/04 Javascript
Javascript 正则表达式实现为数字添加千位分隔符
2015/03/10 Javascript
Node.js和MongoDB实现简单日志分析系统
2015/04/25 Javascript
JavaScript中getUTCMinutes()方法的使用详解
2015/06/10 Javascript
轻松5句话解决JavaScript的作用域
2016/07/15 Javascript
jQuery实现背景滑动菜单
2016/12/02 Javascript
Vue实现带进度条的文件拖动上传功能
2018/02/23 Javascript
python的绘图工具matplotlib使用实例
2014/07/03 Python
使用Python+Splinter自动刷新抢12306火车票
2018/01/03 Python
使用Python制作微信跳一跳辅助
2018/01/31 Python
tensorflow实现加载mnist数据集
2018/09/08 Python
对python实现二维函数高次拟合的示例详解
2018/12/29 Python
浅谈对python中if、elif、else的误解
2020/08/20 Python
python语言time库和datetime库基本使用详解
2020/12/25 Python
Pycharm 如何一键加引号的方法步骤
2021/02/05 Python
Python爬虫制作翻译程序的示例代码
2021/02/22 Python
CSS3 Columns分列式布局方法简介
2014/05/03 HTML / CSS
css3的transition属性详解
2014/12/15 HTML / CSS
巴西最好的男鞋:Rafarillo
2018/05/25 全球购物
在家更换处方镜片:Lensabl
2019/05/01 全球购物
乌克兰排名第一的在线旅游超市:Farvater.Travel
2020/01/02 全球购物
LACOSTE波兰官网:Polo衫、服装和鞋类
2020/09/29 全球购物
承诺书格式范文
2014/06/03 职场文书
校园文明标语
2014/06/13 职场文书
2014年国庆晚会主持词
2014/09/19 职场文书
2014乡党委副书记党建工作汇报材料
2014/11/02 职场文书
期末考试复习计划
2015/01/19 职场文书
本溪水洞导游词
2015/02/11 职场文书
优秀党员主要事迹材料
2015/11/04 职场文书