利用jQuery實(shí)現(xiàn)打字機(jī)字幕效果實(shí)例代碼
實(shí)現(xiàn)效果:


實(shí)現(xiàn)原理:
把html里的代碼讀進(jìn)來,
然后跳過“<”和“>”之間的代碼,
順便保存了內(nèi)容的格式,
然后一個(gè)定時(shí)器,逐個(gè)輸出。
用到的基礎(chǔ)知識:
jQuery為開發(fā)插件提拱了兩個(gè)方法,分別是:
jQuery.fn.extend(object);
jQuery.extend(object);
jQuery.extend(object); 為擴(kuò)展jQuery類本身.為類添加新的方法。
jQuery.fn.extend(object);給jQuery對象添加方法。
$.fn是指jquery的命名空間,加上fn上的方法及屬性,會對jquery實(shí)例每一個(gè)有效。
如擴(kuò)展$.fn.abc()
那么你可以這樣子:$("#div").abc();
$.fx是指jquery的特效。
如使用顯示、滑動、淡入淡出、動畫等。
$.fx.off可以關(guān)閉動畫,其實(shí)是直接顯示結(jié)果。
實(shí)現(xiàn)代碼:
<!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();//返回被選 元素的內(nèi)容
var index = 0;
var x = $text.html('');
//$text.html()和$(this).html('')有區(qū)別
var timer = setInterval(function(){
//substr(index, 1) 方法在字符串中抽取從index下標(biāo)開始的一個(gè)的字符
var current = str.substr(index, 1);
if(current == '<'){
//indexOf() 方法返回">"在字符串中首次出現(xiàn)的位置。
index = str.indexOf('>', index) + 1;
}else{
index ++ ;
}
//console.log(["0到index下標(biāo)下的字符",str.substring(0, index)],["符號",index & 1 ? '_': '']);
//substring() 方法用于提取字符串中介于兩個(gè)指定下標(biāo)之間的字符
$text.html(str.substring(0, index) + (index & 1 ? '_': ''));
if(index >= str.length){
clearInterval(timer);
}
},100);
};
$("#autotype").autotype();
</script>
</body>
</html>
拓展
再簡單介紹下jQuery的$.extend:
$.extend
擴(kuò)展jQuery對象本身。
用來在jQuery命名空間上增加新函數(shù)。
如下:在jQuery命名空間上增加兩個(gè)函數(shù)。
<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>
總結(jié)
大家可以自己操作看下效果,這樣更容易理解學(xué)習(xí),以上就是這篇文章的全部內(nèi)容,希望對大家的學(xué)習(xí)和工作能有所幫助,如果有疑問可以留言交流。
相關(guān)文章
cnblogs中在閃存中屏蔽某人的實(shí)現(xiàn)代碼
cnblogs園子還沒提供這項(xiàng)功能,我們又確實(shí)有這個(gè)需求,只好自己寫一個(gè),需要的朋友可以參考下。2010-11-11
用JQuery 實(shí)現(xiàn)AJAX加載XML并解析的腳本
用JQuery 實(shí)現(xiàn)AJAX加載XML并解析的腳本2009-07-07
jquery幻燈片插件bxslider樣式改進(jìn)實(shí)例
這篇文章主要介紹了jquery幻燈片插件bxslider樣式改進(jìn),對比官方樣式以實(shí)例形式講述了改進(jìn)的技巧,非常實(shí)用,需要的朋友可以參考下2014-10-10
基于jQuery的AJAX和JSON實(shí)現(xiàn)純html數(shù)據(jù)模板
jQuery內(nèi)置的AJAX功能,直接訪問后臺獲得JSON格式的數(shù)據(jù),從而實(shí)現(xiàn)純html數(shù)據(jù)模板,下面主要給大家介紹實(shí)現(xiàn)代碼,感興趣的朋友一起看下吧2016-08-08
jQuery插件echarts實(shí)現(xiàn)的去掉X軸、Y軸和網(wǎng)格線效果示例【附demo源碼下載】
這篇文章主要介紹了jQuery插件echarts實(shí)現(xiàn)的去掉X軸、Y軸和網(wǎng)格線效果,結(jié)合實(shí)例形式分析了echarts插件繪制表格圖及圖形相關(guān)屬性設(shè)置操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-03-03
jQuery實(shí)現(xiàn)簡單下拉導(dǎo)航效果
這篇文章主要介紹了jQuery實(shí)現(xiàn)簡單下拉導(dǎo)航效果,通過簡單的元素遍歷與樣式替換實(shí)現(xiàn)下拉導(dǎo)航的功能,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-09-09

