利用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 相关文章推荐
js onpropertychange输入框 事件获取属性
Mar 26 Javascript
javascript中的关于类型转换的性能优化
Dec 14 Javascript
Yii2使用Bootbox插件实现自定义弹窗
Apr 02 Javascript
Sort()函数的多种用法
Mar 20 Javascript
基于Bootstrap使用jQuery实现输入框组input-group的添加与删除
May 03 Javascript
vue+axios实现登录拦截的实例代码
May 22 Javascript
微信小程序实现点击按钮修改view标签背景颜色功能示例【附demo源码下载】
Dec 06 Javascript
clipboard.js在移动端复制失败的解决方法
Jun 13 Javascript
Vue-router 切换组件页面时进入进出动画方法
Sep 01 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
Jan 24 Javascript
什么时候不能在 Node.js 中使用 Lock Files
Jun 24 Javascript
关于vue-router-link选择样式设置
Apr 30 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
php输出表格的实现代码(修正版)
2010/12/29 PHP
php实现图片添加水印功能
2014/02/13 PHP
利用PHP将部分内容用星号替换
2020/04/21 PHP
PHP 爬取网页的主要方法
2018/07/13 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
2018/10/15 PHP
利用js对象弹出一个层
2008/03/26 Javascript
js url传值中文乱码之解决之道
2009/11/20 Javascript
JavaScript 判断指定字符串是否为有效数字
2010/05/11 Javascript
基于jQuery的星级评分插件
2011/08/12 Javascript
jquery实现弹出层完美居中效果
2014/03/03 Javascript
javascript 兼容各个浏览器的事件
2015/02/04 Javascript
javascript实现带下拉子菜单的导航菜单效果
2015/05/14 Javascript
jQuery 判断图片是否加载完成方法汇总
2015/08/10 Javascript
JavaScript html5 canvas画布中删除一个块区域的方法
2016/01/26 Javascript
基于JS实现的笛卡尔乘积之商品发布
2016/05/13 Javascript
JS实现图片延迟加载并淡入淡出效果的简单方法
2016/08/25 Javascript
Bootstrap组合上、下拉框简单实现代码
2017/03/06 Javascript
基于Bootstrap下拉框插件bootstrap-select使用方法详解
2018/08/07 Javascript
vue通信方式EventBus的实现代码详解
2019/06/10 Javascript
浅谈layer弹出层按钮颜色修改方法
2019/09/11 Javascript
[07:06]2018DOTA2国际邀请赛寻真——卫冕冠军Team Liquid
2018/08/10 DOTA
35个Python编程小技巧
2014/04/01 Python
基于python yield机制的异步操作同步化编程模型
2016/03/18 Python
python微信跳一跳系列之棋子定位颜色识别
2018/02/26 Python
python3.x实现发送邮件功能
2018/05/22 Python
python中for循环输出列表索引与对应的值方法
2018/11/07 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
2018/12/15 Python
python3对拉勾数据进行可视化分析的方法详解
2019/04/03 Python
NumPy 数组使用大全
2019/04/25 Python
Django时区详解
2019/07/24 Python
TensorFlow实现指数衰减学习率的方法
2020/02/05 Python
Python threading.local代码实例及原理解析
2020/03/16 Python
Python类的动态绑定实现原理
2020/03/21 Python
美国成衣女装品牌:CHICO’S
2016/09/19 全球购物
Pureology官网:为染色头发打造最好的产品
2019/09/13 全球购物
委托书范本格式
2019/04/18 职场文书