国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

vue動(dòng)畫—通過(guò)鉤子函數(shù)實(shí)現(xiàn)半場(chǎng)動(dòng)畫操作

瀏覽:90日期:2022-12-12 09:36:12

注意:

1.起始位置設(shè)置了一個(gè)(0,0)在第一遍執(zhí)行時(shí),是沒(méi)有作用的。在一次入場(chǎng)動(dòng)畫執(zhí)行完成之后,在最終位置停下來(lái)并不在起始位置,通過(guò)這里的位置的設(shè)置可以將入場(chǎng)動(dòng)畫結(jié)束時(shí)的位置調(diào)到這里

2.理解enter()函數(shù)的el的指代對(duì)象和done()指代的回調(diào)函數(shù)

3.理解this.show = !this.show,這句話有兩個(gè)作用。一是:控制顯示和隱藏,二是:false —> true為半場(chǎng)動(dòng)畫,true—>false又是為另半場(chǎng)動(dòng)畫。這樣就能完成一直循環(huán)執(zhí)行半場(chǎng)動(dòng)畫的效果了。

HTML代碼:

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Title</title> <script src='http://www.intensediesel.com/lib/vue.js'></script></head><style> .ball{ margin: 50px 50px; width: 15px; height: 15px; border-radius: 50px; background-color: brown; }</style><body> <div id='app'> <input type='button' value='跳進(jìn)籃子里' v-on:click='show=!show'> <transition v-on:before-enter='bEnter' v-on:enter='enter' v-on:after-enter='aEnter'> <div v-show='show'></div> </transition> </div> <script> var vm = new Vue({ el:’#app’, data:{ show:false }, methods:{ bEnter(el){ el.style.transform = 'translate(0,0)' //表示動(dòng)畫入場(chǎng)之前,坐標(biāo)表示位置是在起始位置不動(dòng) //在一次入場(chǎng)動(dòng)畫執(zhí)行完成之后,在最終位置停下來(lái)并不在起始位置,通過(guò)這里的位置的設(shè)置可以將入場(chǎng)動(dòng)畫結(jié)束時(shí)的位置調(diào)到這里 }, enter(el,done){ el.offsetTop; //必須要寫一下offsetTop,offsetWeith等四種中的其中一種,強(qiáng)制刷新動(dòng)畫 el.style.transform = 'translate(200px,450px)'; el.style.transition = 'all 2s ease'; done() //done是enter方法的原生的引用函數(shù)名,這里表示是回調(diào)函數(shù),也就是接下來(lái)執(zhí)行的操作aEnter(),消滅延遲效果。 }, aEnter(el){ this.show = !this.show; } } //這里的el代表,將要執(zhí)行半場(chǎng)動(dòng)畫的對(duì)象,是第一個(gè)原生的參數(shù),跟自定義指令的el作用是一樣的 }); </script></body></html>

效果:

vue動(dòng)畫—通過(guò)鉤子函數(shù)實(shí)現(xiàn)半場(chǎng)動(dòng)畫操作

補(bǔ)充知識(shí):vue動(dòng)畫只有離場(chǎng)動(dòng)畫,進(jìn)場(chǎng)動(dòng)畫不生效

存在問(wèn)題的圖:(只有離場(chǎng)動(dòng)畫,進(jìn)場(chǎng)動(dòng)畫不生效)

vue動(dòng)畫—通過(guò)鉤子函數(shù)實(shí)現(xiàn)半場(chǎng)動(dòng)畫操作

解決之后效果圖:

vue動(dòng)畫—通過(guò)鉤子函數(shù)實(shí)現(xiàn)半場(chǎng)動(dòng)畫操作

解決辦法:

在transition標(biāo)簽中加入appear屬性

<template> <transition mode='out-in' appear> <div class='singer-detail'> </div> </transition></template>

以上這篇vue動(dòng)畫—通過(guò)鉤子函數(shù)實(shí)現(xiàn)半場(chǎng)動(dòng)畫操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 新郑市| 从化市| 米脂县| 荆门市| 凌源市| 满城县| 中卫市| 都匀市| 海门市| 姜堰市| 兴城市| 博客| 报价| 卫辉市| 阿拉善盟| 鹿邑县| 二连浩特市| 靖西县| 永安市| 治多县| 方正县| 东明县| 建水县| 崇左市| 靖安县| 孟津县| 扶余县| 罗城| 龙门县| 邹平县| 高平市| 湘潭市| 宁夏| 江达县| 滕州市| 双柏县| 灵寿县| 黑龙江省| 青川县| 兴安县| 桃江县|