javascript - 寻找一种更有效的方法来创建隐藏的溢出并在文本上翻译动画

标签 javascript jquery html css

最近我一直在尝试创建一个动画效果,我在其中使用隐藏在父跨度上的溢出,然后将其转换为 View 。我当前的代码似乎有点复杂,我想知道是否有任何其他解决方法,考虑到我将在整个网站中大量使用它的效果。

    $(".in1").addClass("error").delay(125).queue(function(next){
        $(this).addClass('in1-active');
    });
    $(".in2").addClass("error").delay(250).queue(function(next){
        $(this).addClass('in2-active');
    });
    $(".in3").addClass("error").delay(375).queue(function(next){
        $(this).addClass('in3-active');
    });
.inwrap {
    overflow: hidden;
    display: block;
    -webkit-font-smoothing: antialiased;
}
.in1, .in2, .in3{
    display: block;
    transition: transform 1s cubic-bezier(0,1,.82,1);
    transform: translateY(101%);
}
.in1-active, .in2-active , .in3-active  {
    display: block;
    transform: translateY(0px);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="introduction">
  <h2>
    <span class="inwrap"><span class="in1"><a href="#about-me">Graphic designer</a> that </span></span>
    <span class="inwrap"><span class="in2">specializes in <a href="#days-of-ux">interactive</a></span></span>
    <span class="inwrap"><span class="in3"> design and <a href="#struggle-magazine">print</a></span></span>
  </h2>
</div>

最佳答案

找到了使用 setTimeout 代替的方法。

    $('.in').each(function(i){
        var row = $(this);
      setTimeout(function() {
              row.addClass('in-active');
          }, 150*i);

    });
.inwrap {
    overflow: hidden;
    display: block;
    -webkit-font-smoothing: antialiased;
}
.in {
    display: block;
    transition: transform 1s cubic-bezier(0,1,.82,1);
    transform: translateY(101%);
}
.in-active{
    display: block;
    transform: translateY(0px);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="introduction">
  <h2>
    <span class="inwrap"><span class="in"><a href="#about-me">Graphic designer</a> that </span></span>
    <span class="inwrap"><span class="in">specializes in <a href="#days-of-ux">interactive</a></span></span>
    <span class="inwrap"><span class="in"> design and <a href="#struggle-magazine">print</a></span></span>
  </h2>
</div>

关于javascript - 寻找一种更有效的方法来创建隐藏的溢出并在文本上翻译动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54319523/

相关文章:

javascript - 在 SharePoint 中通过 Javascript 应用主题

javascript - 下面的代码使用了lastIndexOf方法。为什么代码到达位置 = 0 后,就开始无限打印?

php - 单击按钮时运行 PHP

javascript - Android 需要点击两次按钮才能运行 Jquery Ajax?

javascript - 基于页面/url的显示模式

javascript - 从 C# 中的代码隐藏将 JavaScript 注入(inject)到链接按钮

html - 从 Safari 扩展访问书签?

javascript - (循环中的图像)大量图像并且想要显示如果图像确实存在则显示图像否则删除/隐藏图像节点

Javascript:IE event.preventDefault 为 null 或不是对象

javascript - 通过 Wordpress Divi 主题代码模块为图像内部的图像设置动画