您的位置:首页 > Web前端 > JQuery

利用jQuery实现打字机字幕效果实例代码

2016-09-02 14:49 881 查看

实现效果:

实现原理:

把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>

总结

大家可以自己操作看下效果,这样更容易理解学习,以上就是这篇文章的全部内容,希望对大家的学习和工作能有所帮助,如果有疑问可以留言交流。

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jquery 打字机