利用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 相关文章推荐
更优雅的事件触发兼容
Oct 24 Javascript
用Javascript获取页面元素的具体位置
Dec 09 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
Feb 28 Javascript
javascript实现删除前弹出确认框
Jun 04 Javascript
Javascript实现获取及设置光标位置的方法
Jul 21 Javascript
你不知道的高性能JAVASCRIPT
Jan 18 Javascript
JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)
Jun 16 Javascript
jQuery中delegate()方法的用法详解
Oct 13 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
Sep 04 Javascript
babel7.x和webpack4.x配置vue项目的方法步骤
May 12 Javascript
vue 检测用户上传图片宽高的方法
Feb 06 Javascript
vue+elementUI实现表格列的显示与隐藏
Apr 13 Vue.js
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
雄兵连三大错觉:凯莎没了,凉冰阵亡了,华烨觉得自己又行了
2020/04/09 国漫
[原创]效率较高的php下读取文本文件的代码
2008/07/02 PHP
一个PHP的QRcode类与大家分享
2011/11/13 PHP
PHP的关于变量和日期处理的一些面试题目整理
2015/08/10 PHP
PHP从零开始打造自己的MVC框架之入口文件实现方法详解
2019/06/03 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
2019/11/21 PHP
BOOM vs RR BO5 第三场 2.14
2021/03/10 DOTA
Avengerls vs KG BO3 第二场2.18
2021/03/10 DOTA
JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)
2013/03/27 Javascript
原生JS实现响应式瀑布流布局
2015/04/02 Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
2015/05/14 Javascript
jQuery实现自动滚动到页面顶端的方法
2015/05/22 Javascript
jQuery插件jquery-barcode实现条码打印的方法
2015/11/25 Javascript
Ext JS框架程序中阻止键盘触发回退或者刷新页面的代码分享
2016/06/07 Javascript
Jquery uploadify 多余的Get请求(404错误)的解决方法
2017/01/26 Javascript
基于Vue自定义指令实现按钮级权限控制思路详解
2018/05/23 Javascript
利用原生JavaScript实现造日历轮子实例代码
2019/05/08 Javascript
jquery自定义组件实例详解
2020/12/31 jQuery
[01:14:35]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第一局
2016/02/26 DOTA
Python中的pprint折腾记
2015/01/21 Python
python 容器总结整理
2017/04/04 Python
基于python批量处理dat文件及科学计算方法详解
2018/05/08 Python
Django中使用Celery的教程详解
2018/08/24 Python
pyside+pyqt实现鼠标右键菜单功能
2020/12/08 Python
python获取指定日期范围内的每一天,每个月,每季度的方法
2019/08/08 Python
Python面向对象编程基础实例分析
2020/01/17 Python
pytorch数据预处理错误的解决
2020/02/20 Python
深入浅析CSS3中的Flex布局整理
2020/04/27 HTML / CSS
如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
2019/08/01 HTML / CSS
安全标准化汇报材料
2014/02/03 职场文书
文秘档案管理岗位职责
2014/03/06 职场文书
有创意的广告词
2014/03/18 职场文书
学雷锋月活动总结
2014/04/25 职场文书
个人培训总结
2015/03/05 职场文书
红色经典电影观后感
2015/06/18 职场文书
python数字图像处理:图像的绘制
2022/06/28 Python