vue 動畫


<template>
<div class="box">
  <h1>vuejs之css過渡與css動畫</h1>
  <p class="p">
  過渡的類名  
    在進(jìn)入/離開的過渡中,會有 6 個(gè) class 切換矢洲。 <br>
v-enter:定義進(jìn)入過渡的開始狀態(tài)蝗敢。在元素被插入之前生效,在元素被插入之后的下一幀移除。<br>
v-enter-active:定義進(jìn)入過渡生效時(shí)的狀態(tài)嘀倒。在整個(gè)進(jìn)入過渡的階段中應(yīng)用采盒,在元素被插入之前生效,在過渡/動畫完成之后移除兼砖。這個(gè)類可以被用來定義進(jìn)入過渡的過程時(shí)間奸远,延遲和曲線函數(shù)。<br>
v-enter-to: 2.1.8版及以上 定義進(jìn)入過渡的結(jié)束狀態(tài)讽挟。在元素被插入之后下一幀生效 (與此同時(shí) v-enter 被移除)懒叛,在過渡/動畫完成之后移除。<br>
v-leave: 定義離開過渡的開始狀態(tài)耽梅。在離開過渡被觸發(fā)時(shí)立刻生效薛窥,下一幀被移除。<br>
v-leave-active:定義離開過渡生效時(shí)的狀態(tài)眼姐。在整個(gè)離開過渡的階段中應(yīng)用诅迷,在離開過渡被觸發(fā)時(shí)立刻生效,在過渡/動畫完成之后移除众旗。這個(gè)類可以被用來定義離開過渡的過程時(shí)間罢杉,延遲和曲線函數(shù)。<br>
v-leave-to: 2.1.8版及以上 定義離開過渡的結(jié)束狀態(tài)贡歧。在離開過渡被觸發(fā)之后下一幀生效 (與此同時(shí) v-leave 被刪除)滩租,在過渡/動畫完成之后移除拱镐。
  </p>

  <hr>

  <div id="demo">
    單元素/組件的過渡
    <button v-on:click="show = !show">
      顯示 / 隱藏
    </button>
    <transition name="fade">
      <p v-if="show">hello</p>
    </transition>
  </div>

  <hr>

  <div id="example-1">
    CSS 過渡
    <button @click="show1 = !show1">
      Toggle render
    </button>
    <transition name="slide-fade">
      <p v-if="show1">hello</p>
    </transition>
  </div>

  <hr>

  <div id="example-2">
    CSS 動畫
    <button @click="show3 = !show3">Toggle show</button>
    <transition name="bounce">
      <p v-if="show3">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris facilisis enim libero, at lacinia diam fermentum id. Pellentesque habitant morbi tristique senectus et netus.</p>
    </transition>
  </div>

  <hr>

  <div id="list-complete-demo" class="demo">
    列表的排序過渡
    <button v-on:click="shuffle">Shuffle</button>
    <button v-on:click="add">Add</button>
    <button v-on:click="remove">Remove</button>
    <transition-group name="list-complete" tag="p">
      <span
        v-for="item in items"
        v-bind:key="item"
        class="list-complete-item"
      >
        {{ item }}
      </span>
    </transition-group>
  </div>
</div>
</template>

<script>
export default {
  data () {
    return {
      show: true,
      show3: true,
      show1: true,
      items: [1, 2, 3, 4, 5, 6, 7, 8, 9],
      nextNum: 10
    }
  },
  methods: {
    change: function () {
      for (var i = 1; i < 4; i++) {
        this['box_' + i] = Math.random() > 0.5
      }
    },
    randomIndex: function () {
      return Math.floor(Math.random() * this.items.length)
    },
    add: function () {
      this.items.splice(this.randomIndex(), 0, this.nextNum++)
    },
    remove: function () {
      this.items.splice(this.randomIndex(), 1)
    },
    shuffle: function () {
      // this.items = _.shuffle(this.items)
    }
  }
}
</script>

<style scoped lang="scss">
html,.box{
  width: 100%;
  height: 100%;
  min-height: 960px;
  box-sizing: border-box; 
  background: url('http://online.jd.yumc.pw/_nuxt/img/bgFrontLogin.404f3ee.png') no-repeat;
  background-position: center 0;
  background-size: cover;
  hr{
    margin:30px 0;
  }
  .p{
    text-align: left;
    padding-left:20%;
  }
}
.fade-enter-active, .fade-leave-active {
  transition: opacity .5s;
}
.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {
  opacity: 0;
}


/* 可以設(shè)置不同的進(jìn)入和離開動畫 */
/* 設(shè)置持續(xù)時(shí)間和動畫函數(shù) */
.slide-fade-enter-active {
  transition: all .3s ease;
}
.slide-fade-leave-active {
  transition: all .8s cubic-bezier(1.0, 0.5, 0.8, 1.0);
}
.slide-fade-enter, .slide-fade-leave-to
/* .slide-fade-leave-active for below version 2.1.8 */ {
  transform: translateX(10px);
  opacity: 0;
}


.bounce-enter-active {
  animation: bounce-in .5s;
}
.bounce-leave-active {
  animation: bounce-in .5s reverse;
}
@keyframes bounce-in {
  0% {
    transform: scale(0);
  }
  50% {
    transform: scale(1.5);
  }
  100% {
    transform: scale(1);
  }
}



.list-complete-item {
  transition: all 1s;
  display: inline-block;
  margin-right: 10px;
}
.list-complete-enter, .list-complete-leave-to
/* .list-complete-leave-active for below version 2.1.8 */ {
  opacity: 0;
  transform: translateY(30px);
}
.list-complete-leave-active {
  position: absolute;
}
</style>



?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市持际,隨后出現(xiàn)的幾起案子沃琅,更是在濱河造成了極大的恐慌,老刑警劉巖蜘欲,帶你破解...
    沈念sama閱讀 223,126評論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件益眉,死亡現(xiàn)場離奇詭異,居然都是意外死亡姥份,警方通過查閱死者的電腦和手機(jī)郭脂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評論 3 400
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來澈歉,“玉大人展鸡,你說我怎么就攤上這事“D眩” “怎么了莹弊?”我有些...
    開封第一講書人閱讀 169,941評論 0 366
  • 文/不壞的土叔 我叫張陵,是天一觀的道長涡尘。 經(jīng)常有香客問我忍弛,道長,這世上最難降的妖魔是什么考抄? 我笑而不...
    開封第一講書人閱讀 60,294評論 1 300
  • 正文 為了忘掉前任细疚,我火速辦了婚禮,結(jié)果婚禮上川梅,老公的妹妹穿的比我還像新娘疯兼。我一直安慰自己,他們只是感情好贫途,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,295評論 6 398
  • 文/花漫 我一把揭開白布吧彪。 她就那樣靜靜地躺著,像睡著了一般潮饱。 火紅的嫁衣襯著肌膚如雪来氧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,874評論 1 314
  • 那天香拉,我揣著相機(jī)與錄音,去河邊找鬼中狂。 笑死凫碌,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的胃榕。 我是一名探鬼主播盛险,決...
    沈念sama閱讀 41,285評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼瞄摊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了苦掘?” 一聲冷哼從身側(cè)響起换帜,我...
    開封第一講書人閱讀 40,249評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鹤啡,沒想到半個(gè)月后惯驼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,760評論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡递瑰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,840評論 3 343
  • 正文 我和宋清朗相戀三年祟牲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抖部。...
    茶點(diǎn)故事閱讀 40,973評論 1 354
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡说贝,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出慎颗,到底是詐尸還是另有隱情乡恕,我是刑警寧澤,帶...
    沈念sama閱讀 36,631評論 5 351
  • 正文 年R本政府宣布俯萎,位于F島的核電站几颜,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏讯屈。R本人自食惡果不足惜蛋哭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,315評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望涮母。 院中可真熱鬧谆趾,春花似錦、人聲如沸叛本。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽来候。三九已至跷叉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間营搅,已是汗流浹背云挟。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評論 1 275
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留转质,地道東北人园欣。 一個(gè)月前我還...
    沈念sama閱讀 49,431評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像休蟹,于是被迫代替她去往敵國和親沸枯。 傳聞我的和親對象是個(gè)殘疾皇子日矫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,982評論 2 361

推薦閱讀更多精彩內(nèi)容