鍍金池/ 問答/動漫  網(wǎng)絡(luò)安全  HTML/ vue動畫,transition標(biāo)簽的 mode="out-in&qu

vue動畫,transition標(biāo)簽的 mode="out-in" 屬性不起作用?

vue自帶的動畫實現(xiàn)了淡入淡出的效果,但是transition屬性mode="out-in"不起作用,導(dǎo)致動畫消失顯示出現(xiàn)了重疊,我希望動畫消失和顯示之間有一定的事件間隔,問題出在哪兒呢?

              <transition name="fade" mode="out-in">
                  <div class="sider-item item1" v-if="curIdx == 0">
                      animation 1111
                  </div>
              </transition>
              <transition name="fade" mode="out-in">
                <div class="sider-item item2" v-if="curIdx == 1">
                    animation 2222
                </div>
              </transition>

css如下:

    //消失時間持續(xù)3s
    .fade-enter-active{
      transition: all 3s;
    }

    //顯示時間持續(xù)1.5s
    .fade-leave-active{
      transition: all 1.5s;        
    }

    .fade-enter, .fade-leave-active{
        opacity: 0;
    }

改成如下方式也無效:

//transition 添加屬性 duration
<transition name="fade" mode="out-in" :duration="{ enter: 1000, leave: 3000 }">
</transition>

//css對應(yīng)修改為
    .fade-enter-active{
      transition-property: all;
    }

    .fade-leave-active{
      transition-property: all; 
    }

    .fade-enter, .fade-leave-active{
        opacity: 0;
    }
回答
編輯回答
溫衫

在顯示動畫中,加上動畫延時,這樣就不會出現(xiàn)同步和重疊的情況,
但這樣會有一種情況就是初始化的時候會慢,如果想要解決,還可以初始化后給他們加上一個class,
然后.fade-enter-active.xxxx 兩個class都有就加上動畫延時,transtion-delay,就能解決

2018年4月28日 15:05
編輯回答
孤慣
    .fade-enter-active{
      transition: all 1.5s;
      transition-delay: 2s;
    }

    .fade-leave-active{
      transition: all 2.5s;
    }

    .fade-enter, .fade-leave-active{
        opacity: 0;
    }

這樣可以了,但是為什么 transition標(biāo)簽屬性mode="out-in" 為什么不起作用呢?

2017年10月4日 02:50