利用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 相关文章推荐
jquery.AutoComplete.js中文修正版(支持firefox)
Apr 09 Javascript
JavaScript过滤字符串中的中文与空格方法汇总
Mar 07 Javascript
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
Jun 21 Javascript
深入浅析jQuery对象$.html
Aug 22 Javascript
Angular2使用jQuery的方法教程
May 28 jQuery
解决html-jquery/js引用外部图片时遇到看不了或出现403的问题
Sep 22 jQuery
Nginx 配置多站点vhost 的方法
Jan 07 Javascript
详解JS数值Number类型
Feb 07 Javascript
js传递数组参数到后台controller的方法
Mar 29 Javascript
浅谈JavaScript闭包
Apr 09 Javascript
vue 函数调用加括号与不加括号的区别
Oct 29 Javascript
Javascript新手入门之字符串拼接与变量的应用
Dec 03 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
Zend Framework教程之Autoloading用法详解
2016/03/08 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
Dom 结点创建 基础知识
2011/10/01 Javascript
JQuery中基础过滤选择器用法实例分析
2015/05/18 Javascript
iPhone手机上搭建nodejs服务器步骤方法
2015/07/06 NodeJs
javascript实现tab切换的两个实例
2015/11/05 Javascript
基于js实现checkbox批量选中操作
2016/11/22 Javascript
JS实现给对象动态添加属性的方法
2017/01/05 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
2017/09/20 Javascript
ReactNative中使用Redux架构总结
2017/12/15 Javascript
使用Vuex实现一个笔记应用的方法
2018/03/13 Javascript
JavaScript实现邮箱后缀提示功能的示例代码
2018/12/13 Javascript
详解vue更改头像功能实现
2019/04/28 Javascript
Python3使用requests包抓取并保存网页源码的方法
2016/03/15 Python
Python 递归函数详解及实例
2016/12/27 Python
Django框架中间件定义与使用方法案例分析
2019/11/28 Python
详解python 中in 的 用法
2019/12/12 Python
Python如何在main中调用函数内的函数方式
2020/06/01 Python
详解Pandas 处理缺失值指令大全
2020/07/30 Python
使用Python pip怎么升级pip
2020/08/11 Python
HelloFresh奥地利:立即订购烹饪盒
2019/02/22 全球购物
加拿大的标志性百货公司:Hudson’s Bay(哈得逊湾)
2019/09/03 全球购物
Fox Racing官方网站:越野摩托车和山地自行车装备和服装
2019/12/23 全球购物
请用Java实现列出某个目录下的所有文件
2013/09/23 面试题
分厂厂长岗位职责
2013/12/29 职场文书
秋季运动会广播稿
2014/02/22 职场文书
优秀毕业生自荐信
2014/06/10 职场文书
尊师重教演讲稿
2014/09/04 职场文书
2014年个人债务授权委托书范本
2014/09/22 职场文书
销售经理助理岗位职责
2015/04/13 职场文书
教师见习总结范文
2015/06/23 职场文书
《鲸》教学反思
2016/02/23 职场文书
导游词之绍兴柯岩古镇
2020/01/09 职场文书
windows下快速安装nginx并配置开机自启动的方法
2021/05/11 Servers
postgresql中如何执行sql文件
2023/05/08 PostgreSQL