首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么它不在块中淡出,而只是显示出来呢?

问为什么它不在块中淡出,而只是显示出来呢?
EN

Stack Overflow用户
提问于 2013-05-26 01:07:01
回答 4查看 341关注 0票数 0

我正在尝试使用css过渡来淡入一个块。我有一个类,在将显示从无设置为阻塞后,将不透明度设置为1。它忽略了转换。有人能告诉我为什么吗?谢谢。

jsfiddle:http://jsfiddle.net/qhvC2/2/

标记:

代码语言:javascript
复制
<div class="fade-alert">
</div>
<button class="my_butt" type="button">click me</button>

css:

代码语言:javascript
复制
.fade-alert {
    width: 200px;
    height: 100px;
    background: purple;
  opacity: 0;
  -webkit-transition: opacity 1.0s linear;
     -moz-transition: opacity 0.5s linear;
       -o-transition: opacity 0.5s linear;
          transition: opacity 1.0s linear;
    display: none;
}

.fade-alert.in
{
    opacity: 1;

}

javascript:

代码语言:javascript
复制
$(".my_butt").on( "click", function( e ){
$(".fade-alert").css("display", "block" );
$(".fade-alert").addClass("in"); });
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-05-26 21:10:43

最后,我使用了transitionEnd事件来监听使用jquery,所以答案是:Callback when CSS3 transition finishes

票数 0
EN

Stack Overflow用户

发布于 2013-05-26 01:15:10

如果你无论如何都要使用jQuery,为什么不直接用jQuery淡入呢

演示http://jsfiddle.net/kevinPHPkevin/qhvC2/3/

代码语言:javascript
复制
$('.my_butt').click(function() {
      $('.fade-alert').fadeIn('slow', function() {
        // Animation complete
      });
    });

已更新

使用您的代码,您可以像这样做演示http://jsfiddle.net/kevinPHPkevin/qhvC2/5/

CSS

代码语言:javascript
复制
.fade-alert {
    width: 200px;
    height: 100px;
    background: purple;
    opacity: 0;
    -webkit-transition: opacity 1.0s linear;
    -moz-transition: opacity 0.5s linear;
    -o-transition: opacity 0.5s linear;
    transition: opacity 1.0s linear;
}
.in {
    opacity: 1;
}

JS

代码语言:javascript
复制
$(".my_butt").on( "click", function( e ){
    $(".fade-alert").addClass("in"); });

从理论上讲,使用最新的选项,您只需添加不透明1,而不涉及display或visibilty

要消除高度问题,您可以执行以下演示http://jsfiddle.net/kevinPHPkevin/qhvC2/6/

JS

代码语言:javascript
复制
$(".my_butt").on("click", function (e) {
    $(".fade-alert").addClass("in");
});

CSS

代码语言:javascript
复制
.fade-alert {
    width: 200px;
    background: purple;
    opacity: 0;
    -webkit-transition: opacity 1.0s linear;
    -moz-transition: opacity 0.5s linear;
    -o-transition: opacity 0.5s linear;
    transition: opacity 1.0s linear;
    height: 0;
    overflow: hidden;
}
.fade-alert.in {
    opacity: 1;
    height: auto;
}
票数 2
EN

Stack Overflow用户

发布于 2013-05-26 01:18:29

下面是代码,你可以用你的css替换它,它工作得很好

这是小提琴链接http://jsfiddle.net/sarfarazdesigner/qhvC2/4/

代码语言:javascript
复制
.fade-alert {
    width: 200px;
    height: 100px;
    background: purple;
  opacity: 0;
  -webkit-transition: opacity 1.0s linear;
     -moz-transition: opacity 0.5s linear;
       -o-transition: opacity 0.5s linear;
          transition: opacity 1.0s linear;
    visibility:hidden;
}

.fade-alert.in
{
    opacity: 1;
    visibility:visible;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16751939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档