很多相同的Jquery代碼會在很多頁面使用,每次都復制粘貼太麻煩了,不如封裝成一個Jquery插件就方便了,至於影響網頁的速度不,我就沒有測試了哈。
代碼如下
這是一個自定閃爍打印文字的Jquery特效
HTML代碼如下:
<div id="code"> <p>/**</p> <p>*2014-2-12</p> <p>*代碼自動閃爍輸入</p> <p>*/</p> 2014-2-14,I want to say:<br /> Baby, I love you forever!<br /> </div>
Js代碼:
function typewriter(id){ var $ele = document.getElementById(id); var str = $ele.innerHTML, progress = 0; $ele.innerHTML = ''; var timer = setInterval(function() { var current = str.substr(progress, 1); if (current == '<') { progress = str.indexOf('>', progress) + 1; } else { progress++; } $ele.innerHTML =str.substring(0, progress) + (progress & 1 ? '_' : ''); if (progress >= str.length) { clearInterval(timer); } }, 75); }
調用方法:
<script type="text/javascript"> $(function () { typewriter("code"); }); </script>
下面開始對js代碼進行Jquery插件封裝了
(function ($) { $.fn.typewriter = function () { var $ele = $(this), str = $ele.html(), progress = 0; $ele.html(''); var timer = setInterval(function () { var current = str.substr(progress, 1); if (current == '<') { progress = str.indexOf('>', progress) + 1; } else { progress++; } $ele.html(str.substring(0, progress) + (progress & 1 ? '_' : '')); if (progress >= str.length) { clearInterval(timer); } }, 75); }; })(jQuery);
調用方法:
<script type="text/javascript"> $(function () { $("#code").typewriter(); }); </script>
封裝完畢!