【问题标题】:How to make css not ignore transform function after removing class with jquery使用jquery删除类后如何使css不忽略transform函数
【发布时间】:2019-05-25 22:43:08
【问题描述】:

我正在使用转换功能将字符移动到位,并使用不透明度使它们在翻译过程中出现。目前,3.5 秒的过渡适用于 opacity 功能,但不适用于 transform 功能。这给出了角色坐在末端位置而不是移动的结果。在我使用 jquery 删除函数之前,字符位于正确的起始点,所以我不知道我是否用代码的另一部分覆盖了 translate 函数。

我尝试使用 translate3d 并确保列表中的元素位于“显示:内联块”中。这是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。如您所见,我尝试了 translateY 和 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);}

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

【问题讨论】:

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


    【解决方案1】:

    您的代码似乎运行良好。

    我刚刚为变换添加了一个过渡,并将颜色设置为非白色,我觉得还可以。检查下面的sn-p:

    $(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>

    【讨论】:

    • 是的,成功了!我以为我在那里也有转换的过渡,但我想没有。感谢您的帮助。
    猜你喜欢
    • 2021-02-17
    • 2011-06-07
    • 2010-11-28
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 2011-09-13
    • 2013-11-24
    • 2017-02-15
    相关资源
    最近更新 更多