利用jQuery實現打字機字幕效果執行個體代碼_jquery

來源:互聯網
上載者:User

實現效果:

實現原理:

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

總結

大家可以自己操作看下效果,這樣更容易理解學習,以上就是這篇文章的全部內容,希望對大家的學習和工作能有所協助,如果有疑問可以留言交流。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.