vue學(xué)習(xí)筆記(9):vue動畫

data:{

flag:false,

id:'',

name:'',

list:[

{id:1,name:"趙高"},

{id:2,name:"李高"}

]

}

1.Vue中的動畫


2.使用過度類名實現(xiàn)動畫

(1)使用transition元素犀变,把需要被動畫控制的元素,包裹起來,transition元素是Vue官方提供的

<input type="button" value="toggle" @click="flag=!flag">

<transition>

<h3 v-if="flag">這是一個h3</h3>

</transition>

(2)定義兩組樣式峰髓,來控制transition內(nèi)部元素實現(xiàn)動畫

<style>

//v-enter【這是一個時間點】是進入之前尤泽,元素的起始狀態(tài)谒所,此時還沒有進入

//v-leave-to【這是一個時間點】是動畫離開之后,離開的終止狀態(tài),此時炕贵,元素動畫已經(jīng)結(jié)束

.v-enter,.v-leave-to{

opacity:0;

//x軸移動

transform:translateX(150px);

}

//v-enter-active【入場動畫時間段】

//v-leave-active【離場動畫時間段】

.v-enter-active,.v-leave-active{

transition:all 0.4s ease;

}

</style>

3.自定義v-前綴


<input type="button" value="toggle" @click="flag=!flag">

//修改v-前綴

<transition name="my">

<h3 v-if="flag">這是一個h3</h3>

</transition>

<style>

.my-enter,.my-leave-to{

opacity:0;

transform:translateY(150px);

}

.my-enter-active,.my-leave-active{

transition:all 0.4s ease;

}

</style>

4.使用第三方animate.css類庫實現(xiàn)動畫

引入animated.css第三方類

//入場使用bounceIn缘圈,離場使用bounceOut

注意:寫的時候需要加一個animated這樣的一個基本的類

第(1)種寫法:<transition enter-active-class="animated bounceIn"? leave-active-class="animated bounceOut" :duration="200">

//使用:duration="毫秒值"來統(tǒng)一設(shè)置入場離場時候的動畫時長

使用:duration="{ enter:200,leave:400}" 來分別設(shè)置入場的時長劣光,和離場的時長

<h3 v-if="flag">這是一個h3</h3>

</transition>

第(2)種寫法<transition enter-active-class="bounceIn"? leave-active-class="bounceOut">

<h3 v-if="flag" class="animated">這是一個h3</h3>

</transition>

5.鉤子函數(shù)實現(xiàn)半場動畫

動畫JavaScript鉤子函數(shù)

https://cn.vuejs.org/v2/guide/transitions.html#JavaScript-%E9%92%A9%E5%AD%90

<style>

.ball{

width:15px;

height:15px;

border-radius:50%;

background:red;

}

</style>

<input type="button" value="加入購物車" @click="flag=!flag">

//使用transition把小球包裹起來

<transition @before-enter="beforeEnter" @enter="enter" @after-enter="afterEnter">

<div class="ball" v-show="flag"></div>

</transition>

<script>

methods:{

//注意:動畫鉤子函數(shù)的第一個參數(shù):el,表示要執(zhí)行動畫的那個dom元素糟把,是個原生的JS dom對象绢涡,

可以認為,el是通過 document.getelementById('')方式獲取到的原生JS DOM對象

beforeEnter(el){

//brforeEnter表示動畫入場之前遣疯,此時雄可,動畫尚未開始,可以在beforeEnter中缠犀,設(shè)置元素開始動畫之前的起始樣式

//設(shè)置小球開始動畫之前的起始位置

el.style.transform="translate(0,0)"

}

enter(el,done){

//這句話沒有實際的作用数苫,但是如果不寫,出不來動畫效果,可以認為el.offsetWidth會強制動畫刷新

el.offsetWidth

//表示動畫開始之后的樣式辨液,這里可以設(shè)置小球完成動畫之后的文判,結(jié)束狀態(tài)

el.style.transform="translate(150px,450px)"

el.style.transition = 'all 1s ease'

//這里的done起始就是afterEnter這個函數(shù),也就是說done就是afterEnter函數(shù)的引用

done();

}

afterEnter(el){

//動畫完成之后室梅,會調(diào)用afterEnter

this.flag = !this.flag

}

}

</script>

6.使用transition-group元素實現(xiàn)列表動畫

<style>

li{

border:1px dashed #999

margin:5px;

line-height:35px;

padding-left:5px;

font-size:12px;

}

.v-enter,.v-leave-to{

opacity:0;

transform:translateY(80px);

}

v-enter-active,.v-leave-active{

transition:all 0.6s ease;

}

li:hover{

borderground-color:pink;

transition:all 0.4s ease;

}

</style>

<div>

<lable>

Id:<input type="text" v-model="id">

</lable>

<lable>

name:<input type="text" v-model="name">

</lable>

<input type="button" @click="add">

</div>

<ul>

//在實現(xiàn)列表過渡的時候戏仓,如果需要過渡的元素是通過v-for循環(huán)渲染出來的疚宇,不能使用transition包裹,需要使用transition-group

<transition-group>

<li v-for="item in list" :key="item.id">

{{item.id}}---{{item.name}}

</li>

</transition-group>

</ul>

add(){

this.list.push({id:this.id;name:this.name})

this.id=this.name=' ';

}

7.移除時候的動畫

<style>

li{

border:1px dashed #999

margin:5px;

line-height:35px;

padding-left:5px;

font-size:12px;

width:100%;

}

.v-enter,.v-leave-to{

opacity:0;

transform:translateY(80px);

}

.v-enter-active,.v-leave-active{

transition:all 0.6s ease;

}

li:hover{

borderground-color:pink;

transition:all 0.4s ease;

}

//.v-move和.v-leave-active配合使用赏殃,能夠使列表后續(xù)的元素敷待,漸漸地飄上來的效果

.v-move{

transition:all 0.6s ease;

}

.v-enter-active{

//absolute有一個特點,當(dāng)你不指定寬度大小的時候仁热,默認為最小值

position:absolute;

}

</style>

<transition-group>

<li v-for="(item,i)? in list" :key="item.id" @click="del(i)">

{{item.id}}---{{item.name}}

</li>

</transition-group>

del(i){

this.list.splice(i,1);

}

8.給transition-group添加appear屬性實現(xiàn)入場時候的效果

//通過為transition-group元素設(shè)置tag屬性榜揖,指定transition-group渲染為指定的元素,如果不指定tag屬性抗蠢,默認渲染為span標簽

<transition-group appear tag="ul">

<li v-for="(item,i)? in list" :key="item.id" @click="del(i)">

{{item.id}}---{{item.name}}

</li>

</transition-group>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末举哟,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子迅矛,更是在濱河造成了極大的恐慌妨猩,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件秽褒,死亡現(xiàn)場離奇詭異壶硅,居然都是意外死亡,警方通過查閱死者的電腦和手機销斟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進店門庐椒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蚂踊,你說我怎么就攤上這事约谈。” “怎么了犁钟?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵棱诱,是天一觀的道長。 經(jīng)常有香客問我特纤,道長,這世上最難降的妖魔是什么侥加? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任捧存,我火速辦了婚禮,結(jié)果婚禮上担败,老公的妹妹穿的比我還像新娘昔穴。我一直安慰自己,他們只是感情好提前,可當(dāng)我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布吗货。 她就那樣靜靜地躺著,像睡著了一般狈网。 火紅的嫁衣襯著肌膚如雪宙搬。 梳的紋絲不亂的頭發(fā)上笨腥,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天,我揣著相機與錄音勇垛,去河邊找鬼脖母。 笑死,一個胖子當(dāng)著我的面吹牛闲孤,可吹牛的內(nèi)容都是我干的谆级。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼讼积,長吁一口氣:“原來是場噩夢啊……” “哼肥照!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起勤众,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤舆绎,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后决摧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體亿蒸,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年掌桩,在試婚紗的時候發(fā)現(xiàn)自己被綠了边锁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡波岛,死狀恐怖茅坛,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情则拷,我是刑警寧澤贡蓖,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站煌茬,受9級特大地震影響斥铺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜坛善,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一晾蜘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧眠屎,春花似錦剔交、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至葫督,卻和暖如春竭鞍,著一層夾襖步出監(jiān)牢的瞬間板惑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工笼蛛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留洒放,地道東北人。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓滨砍,卻偏偏與公主長得像往湿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子惋戏,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,960評論 2 355

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

  • 庸而亦凡者领追,為蕓蕓眾生;凡而不庸者,乃大智慧者响逢。 “我曾經(jīng)跨過山和大海绒窑,也穿過人山人海……”樸樹唱得...
    super靜喔閱讀 372評論 0 3
  • 令人恐懼的未來。一切未知钦铺,不知道明天會發(fā)生什么订雾,未來能走多遠,也未可知矛洞,將來會面對多少困難洼哎,我今日所作為,有朝一日...
    kuailemeiyitian閱讀 154評論 0 1
  • 開場白: 親愛的各位家長朋友們沼本,大家下午好噩峦! 感謝大家百忙之中抽出時間來參加我們的學(xué)期匯報。 我們從金秋9月走到了...
    夭夭燕公子閱讀 1,606評論 0 3
  • 【橙子的讀書筆記】 社群的復(fù)制擴張是社群運營到一定程度后的必然選擇。選擇時機非常重要辫红,在不適合的時間去做規(guī)钠就浚可能會...
    老王侃高考閱讀 818評論 0 1
  • Linux進程調(diào)度原理進程優(yōu)先級控制——nice和renice命令進程優(yōu)先級,進程nice值和%nice的解釋li...
    殘劍閱讀 202評論 0 1