javascript - CSS Transitions 不过渡

标签 javascript jquery css animation transition

所以我有以下 JS:

$('.metric-number, .compareToTotal').css({opacity : "0"}).on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function(){
    $(this).css('display', 'none');
    $('.forum-select-button').css({'display' : 'inline-block',
                                   'opacity' : '1'});
});

还有 CSS :

.metric-number, .compareToTotal, .forum-select-button{
    -webkit-transition: opacity 500ms ease-in-out;
    -moz-transition: opacity 500ms ease-in-out;
    -o-transition: opacity 500ms ease-in-out;
    transition: opacity 500ms ease-in-out;
}

所以初始动画有效,但是 .forum-select-button 上的动画不执行转换,只是将不透明度设置为 1.0。如果有帮助,它是一个 Bootstrap 按钮元素,尽管我不认为它是元素,因为我已经切换了滚动,然后 '.metric-number' 和 '.compareToTotal' 元素没有动画。

最佳答案

设置 display 属性时不会运行转换。 (参见 list of animatable properties)

解决方法是将高度设置为 0:

.forum-select-button {
  height: 0;
  opacity: 0;
}

然后将高度设置为auto:

  $('.forum-select-button').css({
    'height': 'auto',
    'opacity': '1'
  });

JSFiddle Demo

另一种方法是设置动画关键帧并在您想要显示和隐藏元素时切换类。

JSFiddle Demo

相关:

关于javascript - CSS Transitions 不过渡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29661984/

相关文章:

javascript - 网站应该如何显示其他页面并允许用户对该页面进行评分

javascript - 如何将文件输入克隆到隐藏 iframe 中的另一个文件输入

html - 如何将按钮旁边的文本居中对齐?

jquery - 有没有一种方法可以让图像随着浏览器高度的变化而调整大小?

html - 是否可以使用 CSS 计数器来增加元素的旋转

javascript - 在 ASP.NET WebForms 服务器端帖子之间持续 knockout ViewModel ...

javascript - 使用 Laravel 添加数据 JavaScript

javascript - 简单放大 d3.js

javascript - Jquery 附加内容 - 不可点击

jQuery ~ 如何从中心中心设置框宽度高度的动画