Vue + Velocity.js 实现动画效果

Vue过渡动画基础知识参阅:https://cn.vuejs.org/v2/guide/transitions.html

1、在模板 index.html 中引入 velocity.js。

2、以慧企星助平台的计划页面 提示信息为例:

(1)、DOM结构如下

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<transition v-on:leave="hideTipAfter">
                    <div class="tip_info_row" v-if="isShowTip" >
                        <div>
                            优先级
                            <span style="color: #999999;">(优先级越高越紧急):</span>
                            <template v-for="(item,index) in level">
                                <span class="color_cirlce" :style="{'backgroundColor':item}"></span>
                                <span :style="{color: item}">优先级{{index+1}}</span>
                            </template>
                        </div>
                        <i class="iconfont icon-guanbi close_btn" @click="changeShowTip"></i>
                    </div>
                </transition
                           
                <div
                    element="div"
                    v-model="mDataList"
                    v-if="mDataList&&mDataList.length>0"
                    :class="['draggable_class']"
                    id="planTaskList"
                ></div>
 

(2)、在 methods 中增加如下方法

1
2
3
4
5
hideTipAfter:function (el, done){
            Velocity(el, { opacity: 0 }, { duration: 500 })//本身隐藏
            var el1=document.getElementById('planTaskList');
            Velocity(el1, { top: 10 }, { duration: 500 })  //下面的兄弟元素上移        
}
 

 

 3、更多 velocity 知识请参阅 https://www.cnblogs.com/guandekuan/p/6643988.html 或者 http://velocityjs.org/

posted @ 2021-03-02 18:11  试问蟾宫  阅读(125)  评论(0编辑  收藏  举报