中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue的Js動畫與Velocity.js的結合

發布時間:2020-07-07 04:31:36 來源:網絡 閱讀:402 作者:梁十八 欄目:web開發

@before-enter,在隱藏后,點擊讓它顯示的時候,顯示之前會觸發。@enter不同,是在動畫執行的過程中觸發。done觸發完成之后就是@after-enter。這些是通過js鉤子來實現,也就是js來實現的:

<!DOCTYPE?html>
<html>
<head>
????<title></title>
????<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/>
????<link?rel="stylesheet"?type="text/css"?href="./animate.css">
????<script?src="./vue.js"></script>
????<!--?<script?src="http://cdn.staticfile.org/vue/2.6.10/vue.common.dev.js"></script>?-->
</head>
<body>
????<div?id="root">
????????//自定義class名字:
????????<transition?
????????????name="fade"?
????????????@before-enter="handleBeforeEnter"
????????????@enter="handleEnter"
????????????@after-enter="handleAfterEnter"
????????>
????????????<div?v-show="show">hello</div>
????????</transition>
????????<button?@click="handleClick">切換</button>
????</div>
????<script?type="text/javascript">
????????var?vm?=?new?Vue({
????????????el:?"#root",
????????????data:?{
????????????????show:?true
????????????},
????????????methods:?{
????????????????handleClick:?function()?{
????????????????????this.show?=?!this.show
????????????????},
????????????????//el指的是動畫包裹的標簽
????????????????handleBeforeEnter:?function(el)?{
????????????????????//console.log("handleBeforeEnter")
????????????????????//在標簽從隱藏點擊顯示的時候,變成了紅色
????????????????????el.style.color?=?"red"
????????????????},
????????????????//接收兩個回調函數,el同上,done
????????????????handleEnter:?function(el,?done)?{
????????????????????//之前顯示是紅色,兩秒后變成綠色
????????????????????setTimeout(()=>{
????????????????????????el.style.color?=?"green"
????????????????????},?2000)
????????????????????setTimeout(()=>{
????????????????????????//但4秒才告訴vue結束(也就是2秒后變綠,又4-2秒后變黑)
????????????????????????done()?//這個done很重要,執行完之后要告訴vue,已經執行完
????????????????????},?4000)
????????????????},
????????????????handleAfterEnter:?function(el)?{
????????????????????el.style.color?=?"black"
????????????????}
????????????}
????????});
????</script>
</body>
</html>

當然,除了入場動畫,還有出場動畫:

<!DOCTYPE?html>
<html>
<head>
????<title></title>
????<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/>
????<link?rel="stylesheet"?type="text/css"?href="./animate.css">
????<script?src="./vue.js"></script>
????<!--?<script?src="http://cdn.staticfile.org/vue/2.6.10/vue.common.dev.js"></script>?-->
</head>
<body>
????<div?id="root">
????????//自定義class名字:
????????<transition?
????????????name="fade"?
????????????@before-leave="handleBeforeLeave"
????????????@leave="handleLeave"
????????????@after-leave="handleAfterLeave"
????????>
????????????<div?v-show="show">hello</div>
????????</transition>
????????<button?@click="handleClick">切換</button>
????</div>
????<script?type="text/javascript">
????????var?vm?=?new?Vue({
????????????el:?"#root",
????????????data:?{
????????????????show:?true
????????????},
????????????methods:?{
????????????????handleClick:?function()?{
????????????????????this.show?=?!this.show
????????????????},
????????????????//el指的是動畫包裹的標簽
????????????????handleBeforeLeave:?function(el)?{
????????????????????//console.log("handleBeforeLeave")
????????????????????//在標簽從隱藏點擊顯示的時候,變成了紅色
????????????????????el.style.color?=?"red"
????????????????},
????????????????//接收兩個回調函數,el同上,done
????????????????handleLeave:?function(el,?done)?{
????????????????????//之前顯示是紅色,兩秒后變成綠色
????????????????????setTimeout(()=>{
????????????????????????el.style.color?=?"green"
????????????????????},?2000)
????????????????????setTimeout(()=>{
????????????????????????//但4秒才告訴vue結束(也就是2秒后變綠,又4-2秒后變黑)
????????????????????????done()?//這個done很重要,執行完之后要告訴vue,已經執行完
????????????????????},?4000)
????????????????},
????????????????handleAfterLeave:?function(el)?{
????????????????????setTimeout(()=>{
????????????????????????el.style.color?=?"black"
????????????????????},?2000)
????????????????}
????????????}
????????});
????</script>
</body>
</html>

使用velocity。下載地址:http://velocityjs.org/

<!DOCTYPE?html>
<html>
<head>
????<title></title>
????<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/>
????<link?rel="stylesheet"?type="text/css"?href="./animate.css">
????<script?src="./vue.js"></script>
????<script?src="./velocity.js"></script>
????<!--?<script?src="http://cdn.staticfile.org/vue/2.6.10/vue.common.dev.js"></script>?-->
</head>
<body>
????<div?id="root">
????????//自定義class名字:
????????<transition?
????????????name="fade"?
????????????@before-enter="handleBeforeEnter"
????????????@enter="handleEnter"
????????????@after-enter="handleAfterEnter"
????????>
????????????<div?v-show="show">hello</div>
????????</transition>
????????<button?@click="handleClick">切換</button>
????</div>
????<script?type="text/javascript">
????????var?vm?=?new?Vue({
????????????el:?"#root",
????????????data:?{
????????????????show:?true
????????????},
????????????methods:?{
????????????????handleClick:?function()?{
????????????????????this.show?=?!this.show
????????????????},
????????????????//el指的是動畫包裹的標簽
????????????????handleBeforeEnter:?function(el)?{
????????????????????el.style.opacity?=?0;
????????????????},
????????????????//接收兩個回調函數,el同上,done
????????????????handleEnter:?function(el,?done)?{
????????????????????//注意,要加上complete:?done告訴vue結束
????????????????????Velocity(el,?{opacity:1},?{duration:?1000,?complete:?done})
????????????????},
????????????????handleAfterEnter:?function(el)?{
????????????????????alert("動畫結束")
????????????????}
????????????}
????????});
????</script>
</body>
</html>


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

屯昌县| 娱乐| 定南县| 商水县| 宁武县| 汪清县| 尼木县| 辽阳市| 广南县| 达拉特旗| 枝江市| 图木舒克市| 南皮县| 射阳县| 漯河市| 台北县| 达尔| 靖州| 黄陵县| 达孜县| 日喀则市| 平安县| 贡山| 云林县| 贡嘎县| 独山县| 通州市| 深泽县| 永善县| 上饶市| 达日县| 华坪县| 迁安市| 桃源县| 奇台县| 绍兴县| 遂溪县| 东港市| 济南市| 云龙县| 开远市|