javascript - 文本从左到右淡入淡出的问题

标签 javascript jquery css

能否请您看一下这段代码,让我知道如何从文本的左到右添加淡入,使文本显示为 First S,然后是 t ,然后是 r ,...最后是最后一个字母 g?

$(".btn").on("click", function() {
  $(".str").addClass('present');
});
.str {
  opacity: 0;
  font-size: 32px;
  font-weight: bold;
  /*CSS3 transitions for animated effect*/
  transition: all 0.35s;
}
.present {
  opacity: 0.9;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="btn">Display</button>
<div class="str">String</div>

最佳答案

您可以像下面的代码片段一样使用少量 JS(使用 jQuery)将元素的内容拆分为单独的字符,将它们全部包装到单独的 span 中,然后将类一个一个地添加到每个字符中。这将产生每个字符一个一个淡入淡出的效果。

这个答案与 Farzad 的答案非常相似,因为它使用了多个 span 字符,但两者之间存在显着差异。虽然另一个答案手动添加延迟,因此难以适应不同长度的文本,但此答案中的片段使用 transitionend 事件将类添加到下一个兄弟 span 一旦当前 span 的转换完成。因此,它也可以自动适应不同的文本长度。

$(document).ready(function() {
  $this = $('.str');
  var characters = $this.text().split("");
  $this.empty();
  $.each(characters, function(i, el) {
    $this.append("<span>" + el + "</span");
  });

  $(".btn").on("click", function() {
    $(".str span:nth-child(1)").addClass('present');
  });
  $('.str span').on('transitionend', function() {
    if ($(this).next('span').length != 0)
      $(this).next('span').eq(0).addClass('present');
  });
});
.str span {
  opacity: 0;
  font-size: 32px;
  font-weight: bold;
  transition: all 0.35s;
}
.str .present {
  opacity: 0.9;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="btn">Display</button>
<div class="str">String</div>

注意:将内容拆分成单个字符的代码不是我自己的。它是从很久以前的 Stack Overflow 答案中挑选出来的,我目前没有指向它的链接。

关于javascript - 文本从左到右淡入淡出的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34691737/

相关文章:

javascript - 如何检查 Javascript 中的所有数组值是否为空

php - 使用Uploadify发送表单数据时出现问题

javascript - 未捕获的语法错误 : Unexpected token < while calling cakephp select form directly in javascript

jquery - 通过 CSS 制作 HTML 月日日期今天星期

css - 如何并排获取 iFrame?

javascript - 动画属性启动时 ReactNative ActivityIndi​​cator 不显示 false

javascript - “ngMessages”未在 Angular js中实例化

javascript - Node-Red - 访问受密码保护的 SQLite 数据库

html - 带有 CSS 的弹出式搜索框

css - 同一元素上两个类的 Scss 选择器