第7章 過渡與動(dòng)畫_第1頁
第7章 過渡與動(dòng)畫_第2頁
第7章 過渡與動(dòng)畫_第3頁
第7章 過渡與動(dòng)畫_第4頁
第7章 過渡與動(dòng)畫_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第7章過渡與動(dòng)畫

課程目標(biāo)本節(jié)將從CSS過渡transition、CSS動(dòng)畫animation及配合使用第三方CSS動(dòng)畫庫(如animate.css)這三方面來詳細(xì)介紹Vue過渡效果與Vue動(dòng)畫效果。2課程內(nèi)容

過渡與動(dòng)畫概述Transition組件過渡的命名單元素/組件的過渡實(shí)現(xiàn)過渡動(dòng)畫的三種方式多元素/組件的過渡綜合案例37.1簡述4Vue實(shí)現(xiàn)了過渡與動(dòng)畫,Vue的過渡系統(tǒng)可以在元素從DOM中插入或移除時(shí),自動(dòng)應(yīng)用過渡效果。Vue.js會(huì)在適當(dāng)?shù)臅r(shí)機(jī)為觸發(fā)CSS過渡或動(dòng)畫,也可以提供相應(yīng)JavaScript鉤子函數(shù),在過渡過程中執(zhí)行自定義的DOM操作。7.1transition組件5在Vue中,提供了實(shí)現(xiàn)過渡動(dòng)畫的內(nèi)置組件transition?;居梅ň褪墙o我們需要?jiǎng)赢嫷臉?biāo)簽外面

嵌套transition標(biāo)簽,并且加上屬性。實(shí)現(xiàn)過渡動(dòng)畫一般格式:使用過渡組件transition。<transitionname=“fade”><!--需要?jiǎng)赢嫷膁iv標(biāo)簽--><div></div></transition>7.1transition組件6Vue提供了6個(gè)CSS類名在enter/leave的過渡中切換。7.1transition組件7

transition組件的具體使用,及CSS類名的使用。<!DOCTYPEhtml><html><head><metacharset-"utf-8"/><title>斤斗云學(xué)堂</title><style>.v-enter{opacity:0;}.v-enter-active{transition:opacity.5s;}.v-leave-active{transition:transfor.5s;}.v-leave-to{transform:translateX(10px);}</style>7.1transition組件8</head><body><divid="demo"><buttonv-on:click="show=!show">Toggle</button><transition><pv-if="show">我是精靈小天使</p></transition></div><scripttype="text/javascript"src="../js/Vue.js"></script><script>newVue({el:'#demo’,data:{show:true}})</script></body></html>7.1transition組件如果transition組件定義了name,這時(shí)所有“v-”開頭的class類名更換為“fade-”開頭。9<style>

.

fade-enter{opacity:0;

}

.fade-enter-active{

transition:opacity

.5s;}

.

fade-

leave-active{

transition:transform

.5s;}

.

fade-

leave-to{

transform:

translateX(10px);}

</style>7.2

單元素、組件的過渡Vue提供了transition的封裝組件,在下列情形中,可以給任何元素和組件添加進(jìn)入/離開過渡。10條件渲染(使用v-if)組件根節(jié)點(diǎn)條件展示(使用v-show)動(dòng)態(tài)組件7.2

單元素、組件的過渡實(shí)現(xiàn)過渡動(dòng)畫通常有如下幾種方式:利用Vue中的鉤子函數(shù)實(shí)現(xiàn)動(dòng)畫。利用animate.css結(jié)合transition實(shí)現(xiàn)動(dòng)畫。使用Vue的transition標(biāo)簽結(jié)合CSS樣式實(shí)現(xiàn)動(dòng)畫7.2.1transition標(biāo)簽結(jié)合CSS樣式實(shí)現(xiàn)動(dòng)畫常用的過渡使用通常使用CSS過渡。在代碼中設(shè)置CSS樣式來實(shí)現(xiàn)過渡fade-enter-active、fade-leave-active、fade-enter、fade-leave-to?!纠?-1】transition+css實(shí)現(xiàn)過渡動(dòng)畫:12<!DOCTYPE

html><html>

<head>

<meta

charset="utf-8"

/><title>斤斗云學(xué)堂</title><style>.

button{

width:400px;height:

40px;

line

-height:40px;

background-color

:#FFDAB9;text-align:center;}7.2.1transition標(biāo)簽結(jié)合CSS樣式實(shí)現(xiàn)動(dòng)畫13p{

width:400px;margin:0;

background-color:

#FFFACD;}

.

fade-enter-active,.fade-leave-active

{

transition:

opacity

.5s;

}

.

fade-enter,.

fade-leave-to

/*.fade-leave-active

below

version

2.1.8*/{

opacity:

0;}

</style></head><body>

<div

id-“demo”>

<div

class=“button”

v-on:click=“show

=

!

show”

>

Toggle

</div>

<transition

name="fade">執(zhí)行變換屬性為透明,變換時(shí)間0.5毫秒。7.2.1transition標(biāo)簽結(jié)合CSS樣式實(shí)現(xiàn)動(dòng)畫14

<p

v-if="show">斤斗云學(xué)堂(

http://www.hS)是一款專業(yè)學(xué)習(xí)

IT開發(fā)知識技能的慕課平臺,內(nèi)容涵蓋前端開發(fā),JAVA,

大數(shù)據(jù),電子商務(wù)等。斤斗云學(xué)堂已累計(jì)培養(yǎng)數(shù)千學(xué)員,使學(xué)員在IT學(xué)習(xí)和就業(yè)方面得到了很大的幫助,也愿意在你學(xué)習(xí)和就業(yè)的路上祝你一臂之力,實(shí)現(xiàn)騰飛斤斗云學(xué)堂現(xiàn)在每天都有千余名學(xué)生在線學(xué)習(xí),平臺有完整的學(xué)習(xí)課件,題庫,作業(yè)系統(tǒng),學(xué)員可以在線學(xué)課程,交作業(yè)。學(xué)生通過按照學(xué)習(xí)大綱要求,視頻學(xué)習(xí),每節(jié)課測驗(yàn),交作業(yè),參加階段考試,項(xiàng)目實(shí)訓(xùn),掌握開發(fā)技能。</p>

</transition>

</div>

<script

type="

text/javascript"

src="

../js/Vue.js"></script>

<script>

new

Vue({

el:

'#demo’,

data:{

show:

true

}

})</script>

</body>

</html>7.2.1transition標(biāo)簽結(jié)合CSS樣式實(shí)現(xiàn)動(dòng)畫單擊Toggle顯示或隱藏段落,運(yùn)行結(jié)果如圖7-2所示。157.2.2animate.css結(jié)合transition實(shí)現(xiàn)動(dòng)畫首先來介紹下自定義過渡類名,在實(shí)現(xiàn)動(dòng)畫中會(huì)用到,可以通過以下特性來自定義過渡類名:16enter-active-classenter-classenter-to-classleave-classleave-active-classleave-to-class它們的優(yōu)先級高于普通的類名,對于Vue的過渡系統(tǒng)和其他第三方CSS動(dòng)畫庫,如animate.css相結(jié)合使用非常有用。7.2.2animate.css結(jié)合transition實(shí)現(xiàn)動(dòng)畫【例7-2】animate.css+transition實(shí)現(xiàn)動(dòng)畫17<!DOCTYPE

html><html><head>

<meta

charset=

“utf-8”

/>

<title>Vue自定義過渡類名</title>

<link

href=

"

https://cdn.

/

npm/animate.css@3.5.1"

rel="stylesheet"type=

"text/css">

</head><body>

<div

id="demo"

>

<button

@click="show

=

!

show">

Toggle

render<

/button>

7.2.2animate.css結(jié)合transition實(shí)現(xiàn)動(dòng)畫18<transition

name="

custom-classes

-transition"

enter-active-class="animated

tada"leave-active-class="

animated

bounceOutRight">

<p

v-if="show"

>hello</p></transition></div>

<script

src="../js/Vue.js"></script><script>new

Vue({

el:

'#demo’,data:

{

show:

true

}

})

</script></body></html>

7.2.2animate.css結(jié)合transition實(shí)現(xiàn)動(dòng)畫引入第三方animate.css動(dòng)畫文件,設(shè)定動(dòng)畫效果enter-active-class="animatedtada"leave-active-class="animatedbounceOutRight"。運(yùn)行結(jié)果如圖7-3所示。197.2.3鉤子函數(shù)實(shí)現(xiàn)動(dòng)畫【例7-3】鉤子函數(shù)實(shí)現(xiàn)動(dòng)畫20

<!DOCTYPE

html><html><head>

<meta

charset="UTF-8">

<meta

name

"viewport"

content=

"width=device-width,

initial-scale=1.0"><title>

使用Vue鉤子函數(shù)實(shí)現(xiàn)動(dòng)畫</title><style>

.show

{

transition:

all

0.5s;}

</style></head><body>

<div

id=“app”>

<button

@click=“l(fā)oggle”>

顯示/隱藏</button><br>

<transition

@before-enter="beforeEnter"@enter="enter"@after-enter="afterEnter"v-bind:css="false">

<div

class="show"

v-show-"isshow">hello

world</div></transition></div>

<script

src='.

./js/Vue.js"></script>7.2.3鉤子函數(shù)實(shí)現(xiàn)動(dòng)畫21<script>new

Vue({

el:

'#app'

,data:{isshow:false},

methods:{ toggle:function(){this-isshow=!this.isshow;},

beforeEnter:function(el){console.log("beforeEnter”);el.style="padding-left:100px";},

enter:function(el,done){el.offsetHeight;el.style="padding-left:0px";done();},

afterEnter:function(el){console.log("afterEnter");}}})</script></body></html>7.2.3鉤子函數(shù)實(shí)現(xiàn)動(dòng)畫例7-3運(yùn)行后單擊顯示/隱藏,helloworld從右向左過渡,再次單擊隱藏運(yùn)行結(jié)果如圖7-4所示227.3多個(gè)元素的過渡常見的多元素過渡是一個(gè)列表、表格或者描述這個(gè)列表表格,為空消息的元素,如下代碼片段。使用CSS過渡實(shí)現(xiàn)列表和標(biāo)簽的過渡。237.3多個(gè)元素的過渡使用CSS過渡實(shí)現(xiàn)列表<ul>和<p>標(biāo)簽的過渡使用fade-enter、fade-leave-to、fade-enter-active、fade-leave-active等CSS類名實(shí)現(xiàn)過渡單擊“清空數(shù)據(jù)”按鈕,過渡顯示<p>標(biāo)簽,單擊“重置”按鈕,重新加載data中的數(shù)據(jù)。2413. <divid="app">14. <button@click="clear">清空數(shù)據(jù)</button>15. <button@click="reset">重置</button>16. <transitionname="fade">17. <ulv-if="items.length>0">18. <liv-for="iteminitems">{{item}}</li>19. </ul>20. <pv-else>沒有顯示的數(shù)據(jù).</p>21. </transition>22. </div>23. <scriptsrc="../js/vue.js"></script>24. <script>25. newVue({26. el:'#app',27. data:{28. items:['JavaScript高級','Vue','CSS3']29. },30. methods:{31. clear:function(){32. this.items.splice(0);33. },34. reset:function(){35. history.go();36. }37. }38. })

單擊“清空數(shù)據(jù)”按鈕,過渡顯示<p>標(biāo)簽,單擊“重置”按鈕,重新加載data中的數(shù)據(jù)。多個(gè)元素的過渡兩個(gè)相同的標(biāo)簽,發(fā)現(xiàn)并沒

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論