html - 图片淡出过渡

标签 html css transition

当我向下滚动 450 像素时,图片会根据需要淡入,但当我再次向上滚动时,它就消失了,没有任何过渡。我想这只是过渡的问题。这是代码和 gif,因此您可以明白我的意思:

https://gyazo.com/b27b6ba31e29a16f8cd0b862ffbfc1a0

索引

<div class="logo_aftereffects"></div>
 <div class="logo_premierepro"></div>

        <script>
              $(window).scroll(function() {
                 if($(window).scrollTop() >= 200) {
                    $('div#myTopnav').addClass('scrolled');
                    $('a').addClass('scrolled2');
                 if($(window).scrollTop() >= 430) {
                    $('div.sidebar').addClass('scrolled3');
                    $('div.logo_premierepro').addClass('scrolled4');
                    $('div.logo_aftereffects').addClass('scrolled5');
                    } else {
                    $('div.sidebar').removeClass('scrolled3');
                    $('div.logo_premierepro').removeClass('scrolled4');
                    $('div.logo_aftereffects').removeClass('scrolled5');
                    }
                    } else {
                    $('div#myTopnav ').removeClass('scrolled');
                    $('a').removeClass('scrolled2');

                  }
                });
              function myFunction() {
                  $("#myTopnav").toggleClass('responsive');
                  $("div.sidebar").toggleClass('responsive');

              }
        </script>

CSS

  .logo_aftereffects {
        background: url('/images/aftereffects_icon.png');
        width: 64px;
        min-height: 64px;
        background-size: cover;
        margin-top: 50px;
        float: left;
        opacity: 0;

  }

  .logo_premierepro {
        background: url('/images/premierepro_icon.png');
        width: 68px;
        min-height: 68px;
        background-size: cover;
        margin-top: 49px;
        float: right;
        opacity: 0;
  }

  .scrolled {
        min-height: 10px;
        color: inherit;
        background: black;
        transition: 0.35s all ease-in-out;
        opacity: 0.7;
  }

  .scrolled2 {
        color: white;
        opacity: 1;
  }

  .scrolled3 {
        transition: .85s all ease-in-out;
        background: #d2a679;
        opacity: 0.8;
  }

  .scrolled4 {
        opacity: 1;
        transition: 1s all ease-out;
        float: right;
        margin-right: 38%;
  }

  .scrolled5 {
        opacity: 1;
        transition: 1s all ease-out;
        float: left;
        margin-left: 38%;
  }

最佳答案

如果您需要“反向”淡入淡出效果,您还需要在原始元素上显式提供 transition 属性(.logo_aftereffects & .logo_premierepro)。

.logo_aftereffects {
        background: url('..');
        width: 64px;
        min-height: 64px;
        background-size: cover;
        margin-top: 50px;
        float: left;
        opacity: 0;
        transition: 1s all ease-out; //added
  }

  .logo_premierepro {
        background: url('..');
        width: 68px;
        min-height: 68px;
        background-size: cover;
        margin-top: 49px;
        float: right;
        opacity: 0;
        transition: 1s all ease-out; //added
  }

关于html - 图片淡出过渡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44155964/

相关文章:

CSS社交图标悬停效果?

css - 水平居中对齐内联 html 元素

html - 自动将相邻的 div 居中

iOS AssistiveTouch 使用自定义键盘时动画缓慢

transition - JointJS:在 x 和 y 上进行转换的最佳方法?

html - 最好的 HTML 验证器/解析器?

javascript - 为什么 [(ngModel)] 破坏了 Angular 4 中的所有模板?

Javascript:Div onclick 不适用于某些 div 内容

javascript - D3.js 转换多行 - 数据不更新

javascript - Chart.js 在我点击标签 3 次之前不显示数据