jQuery打字效果支持多文本段落

jQuery打字效果支持多文本段落

添加时间:2021-03-13 23:55:09
站长推荐丨赞助论坛,可获取海量资源终身免费下载权限奥!
举报 举报
收藏
预览
附件 附件
  • 模板类型模板类型:文字滚动
  • 模板颜色模板颜色:初级
  • 下载积分下载积分:28 米粒
  • 下载权限下载权限:

    赞助会员

一款支持多文本段落的jQuery打字效果,可以自由添加多个段落、设置打字的速度,自动计算每个段落的打字耗时,配上语音效果,就变成了“为你读书”的功能了,喜欢的童鞋请收下吧。
jQuery打字效果支持多文本段落
分类:文字特效 > 文字滚动 难易:初级

页面的head部分,需要先引入jQuery库,代码如下:

<script type="text/javascript" src="js/jquery.min.js"></script>

接着设置好页面元素的样式,标题、段落等,代码如下:

body, html {
  margin: 0;
  height: 100%;
  text-align: center;
  font-family: 'Microsoft YaHei','Lantinghei SC','Open Sans',Arial,'Hiragino Sans GB','STHeiti','WenQuanYi Micro Hei','SimSun',sans-serif;
  color: #999;
}

h1 {
  text-align: center;
  letter-spacing: 1pt;
  font-size: 30px;
  font-weight: 500;
  margin-top: 10%;
  margin-bottom: 15px;
}

p {
  text-align: justify;
  text-indent: 2em;
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  width: 60%;
  display: none;
  line-height: 28px;
}

页面的底部,这里提供了两种方法解决setTimeout的执行顺序,一种是ES6的let块作用域,另一种是自执行函数提供闭包条件,这样就能避免同时执行多个段落的setTimeout的问题了,值得借鉴学习一下,代码如下:

function typeEffect(element, speed) {
	var text = $(element).text();
	$(element).html('');
	let i = 0;
	var timer = setInterval(function() {
		if (i < text.length) {
			$(element).append(text.charAt(i));
			++i;
		} else {
			clearInterval();
		}
	}, speed);
}

$( document ).ready(function() {
  var speed = 72;
  var sum = 0;
  var delay = new Array();
  $('#typeist').children().each(function(){
    sum += ($(this).text().length-1) * speed + speed;
    delay.push(sum);
  });
  var plen = delay.length;
  typeEffect($('h1'), speed);
  /* 方法一:使用let块作用域 */
  for (let i = 2; i <= plen; ++i){
    setTimeout(function(){
      $('p:nth-child('+i+')').css('display', 'inline-block');
      typeEffect($('p:nth-child('+i+')'), speed);
    }, delay[i-2]);
  }
  /* 方法二:使用自执行函数提供闭包条件 
  for (var i = 2; i <= plen; ++i){
    (function(i){
      setTimeout(function(){
        $('p:nth-child('+i+')').css('display', 'inline-block');
        typeEffect($('p:nth-child('+i+')'), speed);
      }, delay[i-2]);
    })(i);
  }*/
});
相关内容推荐
资源求助发帖
查看更多发帖

*

回帖描述:

*

链接类型:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
热点内容推荐
标题:jQuery打字效果支持多文本段落

*

描述:
平均回复时间:3-10分钟
规则介绍:悬赏寻求论坛网友分享资源,站点对分享内容的准确性,合法性,版权等没有足够的监管能力。如果您发现资源不正确,无法使用,不符合法律法律等情况,您可以直接举报资源。站长将尽快核实您的举报,并根据情况,采取封号,退换米粒等处理。

*

回帖描述:

*

链接类型:

*

阅读权限:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
  • 背景波浪
  • 背景波浪
  • 波浪
  • 波浪
客服
在线咨询
周一 至 周日 9:00 ~ 22:00
QQ:1326974360
微信:juyoubuluo6688
客服热线
18205485173
工作日 9:00 ~ 18:00
微信扫码咨询
客户服务
欢迎咨询服务
咨询量较多时,请耐心等待
社群

关注公众号

获取更多资讯

扫码进群(QQ)

与更多大牛交流沟通

0.125758s