【问题标题】:controlling transitions when adding and removing classes添加和删​​除类时控制转换
【发布时间】:2017-05-21 07:15:44
【问题描述】:

我正在添加一个类来淡化一些文本。在此处查看基本小提琴:http://jsfiddle.net/Lg8rp0fo/

HTML

<p class="fadeup">some text here</p>

CSS 。走 { 过渡:全250ms线性; 变换:translateY(-20px); 不透明度:0; }

JS/JQuery

var i = 0;

document.body.onkeyup = function(e) {
  if( e.keyCode == 32 && i == 0 ) {
        $('.fadeup').addClass('go');
  } else if( e.keyCode == 32 && i == 1 ) {
    $('.fadeup').removeClass('go');
  }
    i++;
}

我想稍后删除课程并让内容再次淡入/淡入。目前,它只是重新出现,没有过渡/翻译。

如何通过转换/翻译让它重新出现?

【问题讨论】:

    标签: jquery css css-animations


    【解决方案1】:

    将 CSS 过渡添加到 .fadeup 类:

    //switched to click for demo
    document.body.onclick= function(e) {
        $('.fadeup').toggleClass('go');
    }
    .go {
      transform: translateY(-20px);
      opacity: 0;
      color: red;
    }
    .fadeup {
      margin-top: 100px;
      text-align: center;
      transition: all 250ms linear;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <p class="fadeup">
      some text here
    </p>

    问题是您将过渡添加到 go 类,因此当它被删除时,过渡也会被删除。

    Updated JSFiddle

    【讨论】:

    • 感谢您的回复 - 它按预期工作。对于我和其他人,您能否解释一下为什么需要将转换与原始课程一起放置?
    • @jerrysam 我做到了。如果您正在使用一个类应用过渡,然后删除该类,您也删除了过渡
    猜你喜欢
    • 2018-03-04
    • 1970-01-01
    • 1970-01-01
    • 2019-03-05
    • 2013-10-03
    • 1970-01-01
    • 1970-01-01
    • 2011-03-24
    • 1970-01-01
    相关资源
    最近更新 更多