jQuery打字机效果代码

快乐打工仔 分类:实例代码

jQuery打字机效果代码属于前端实例代码,有关更多实例代码大家可以查看

本章节分享一段代码实例,它利用jQuery模拟实现了打字机效果。

代码实例如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.pipipi.net/" />
<title>前端教程网</title>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script type="text/javascript" charset="utf-8">
$(function () {
  $.fn.typewriter = function () {
    this.each(function () {
      var $ele = $(this), str = $ele.html(), sum = 0;
      $ele.html("");
      var timer = setInterval(function () {
        var current = str.substr(sum, 1);
        if (current == '<') {
          sum = str.indexOf('>', sum) + 1;
        } else {
          sum++;
        }
        var curr = str.substr(0, sum);
        $ele.html(curr + (sum & 1 ? '_' : ''));
        if (sum >= str.length) {
          clearInterval(timer);
        }
      }, 50);
    });
    return this;
  };
  $("#code").typewriter();
})
</script>
</head>
<body>
<div id="code">
前端教程网欢迎您,本站的url地址是pipipi.net<br/>
只有努力奋斗才会有美好的未来。<br/>
</div>
</body>
</html>

上面的代码实现了打字效果,下面介绍一下它的实现过程。

一.代码注释:

(1).$(function () {}),当文档内容完全加载完毕再去执行函数中的代码。

(2).$.fn.typewriter = function () {},为jquery自定义实例对象方法。

(3).this.each(function () {}),遍历每一个元素对象。

(4).var $ele = $(this),each中的this是指向dom元素的,所以要将其转换为jquery对象。

(5).str = $ele.html(),获取元素的html字符串。

(6).sum = 0,声明一个变量并赋值为0,用作计数器。

(7).$ele.html(""),清空元素中的内容。

(8).var timer = setInterval(function () {},50),每隔50毫秒执行一次函数,这是实现打字效果的核心部分。

(9).var current = str.substr(sum, 1),截取当前位置的字符。

(10).if (current == '<') {

  sum = str.indexOf('>', sum) + 1;

},作用是为了实现<br/>换行功能。

如果没有这段代码,那么就会输出<、<b、<br..这样的效果,然后再换行。

(11).var curr = str.substr(0, sum),截取内容。

(12).$ele.html(curr + (sum & 1 ? '_' : ''))

将内容写入元素中

sum & 1 ? '_' : '',这个的作用在打字输出的时候每隔一个数字,后面会出现一个下划线。

(13).if (sum >= str.length) {

  clearInterval(timer);

},,如果sum的值大于等于字符串的数目,那么就停止打字。

二.相关阅读:

(1).$.fn参阅jQuery.fn的作用是什么一章节。

(2).html方法参阅jQuery html()一章节。

(3).setInterval方法参阅JavaScript setInterval()一章节。

(4).substr方法参阅JavaScript substr()一章节。

(5).indexOf方法参阅JavaScript string indexOf()一章节。

(6).clearInterval方法参阅JavaScript clearInterval()一章节。

jQuery打字机效果代码,这样的场景在实际项目中还是用的比较多的,关于jQuery打字机效果代码就介绍到这了。

回复

我来回复
  • 暂无回复内容