在使用jQuery删除类后,如何使CSS不忽略变换功能

时间:2018-12-28 02:02:01

标签: jquery html css css-transitions css-transforms

我正在使用转换功能将字符移动到位,并使用不透明度使它们在翻译过程中出现。当前,3.5秒过渡在不透明度功能上起作用,但在变换功能上不起作用。这给出了人物坐在其最终位置而不是移动的结果。在使用jquery删除函数之前,字符位于正确的起始位置,因此我不知道是否要用代码的另一部分覆盖translation函数。

我已经尝试使用translate3d并确保列表中的元素在“ display:inline-block”中。这a link为何需要为块格式。我找到了here。代码的其他部分没有其他继承的特征。

这是html和jquery:

<div class="intro-section">
  <div class="intro-wrap">
    <ul id="intro-list" class="intro-text content-hidden">
      <li>W</li>
      <li>E</li>
      <li>L</li>
      <li>C</li>
      <li>O</li>
      <li>M</li>
      <li>E</li>
    </ul>
  </div>
</div>

<script type="text/javascript">

  $(function() { 

    setTimeout(function() {
      $('.intro-text').removeClass('content-hidden');
    }, 500);

  });

</script>

这是CSS。如您所见,我同时尝试了transformY和translate3d,但都没有效果:

.intro-text { 
  list-style: none;
}

.intro-text li {
  display: inline-block;
  margin-right: 50px;
  font-family: '28Days';
  font-weight: 300;
  font-size: 4em;
  color: white;
  opacity: 1;
  transition: opacity 3.5s ease;
}

.intro-text li:last-child {
  margin-right: 0;
}

.content-hidden li { 
  opacity: 0; 
}

.content-hidden li:nth-child(1) { transform: translateY(100px);}
.content-hidden li:nth-child(2) { transform: translate3d(0, -100px, 0);}
.content-hidden li:nth-child(3) { transform: translate3d(0, 100px, 0);}
.content-hidden li:nth-child(4) { transform: translate3d(0, -100px, 0);}
.content-hidden li:nth-child(5) { transform: translate3d(0, 100px, 0);}
.content-hidden li:nth-child(6) { transform: translate3d(0, -100px, 0);}
.content-hidden li:nth-child(7) { transform: translate3d(0, 100px, 0);}

我希望角色也能移动到位,而不是只是坐在应该结束并消失的地方。谢谢!

1 个答案:

答案 0 :(得分:0)

您的代码似乎运行良好。

我刚刚为转换添加了一个过渡,并将颜色设置为非白色,对我来说看起来还不错。检查以下代码段:

$(function() { 

    setTimeout(function() {
      $('.intro-text').removeClass('content-hidden');
    }, 500);

  });
.intro-text { 
  list-style: none;
}

.intro-text li {
  display: inline-block;
  margin-right: 40px;
  font-family: '28Days';
  font-weight: 300;
  font-size: 4em;
  color: red;
  opacity: 1;
  transition: opacity 3.5s ease, transform 3.5s ease;
}

.intro-text li:last-child {
  margin-right: 0;
}

.content-hidden li { 
  opacity: 0; 
}

.content-hidden li:nth-child(1) { transform: translateY(100px);}
.content-hidden li:nth-child(2) { transform: translate3d(0, -100px, 0);}
.content-hidden li:nth-child(3) { transform: translate3d(0, 100px, 0);}
.content-hidden li:nth-child(4) { transform: translate3d(0, -100px, 0);}
.content-hidden li:nth-child(5) { transform: translate3d(0, 100px, 0);}
.content-hidden li:nth-child(6) { transform: translate3d(0, -100px, 0);}
.content-hidden li:nth-child(7) { transform: translate3d(0, 100px, 0);}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="intro-section">
  <div class="intro-wrap">
    <ul id="intro-list" class="intro-text content-hidden">
      <li>W</li>
      <li>E</li>
      <li>L</li>
      <li>C</li>
      <li>O</li>
      <li>M</li>
      <li>E</li>
    </ul>
  </div>
</div>