Vue学习

velocity.js动画

2018-08-03  本文已影响2人  椰果粒
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>vue中的Js动画与velocity.js结合</title>
    <script src="https://unpkg.com/vue@2.5.16/dist/vue.js"></script>
    <script src="./velocity.min.js"></script>
</head>
<body>
    <div id="app">
        <!-- 以下是入场动画的使用,出厂动画将所有的enter变为leave -->
        <transition 
            name="fade"
            @before-enter="handleBeforeEnter"
            @enter = "handleEnter"
            @after-enter = "handleAfterEnter"
        >
            <div v-show="show">hello world</div>
        </transition>
        <button @click="handleChange">显示与隐藏</button>
    </div>
    <script>
       
        var vm = new Vue({
            el : "#app",
            data : {
                show : true
            },
            methods : {
                handleChange : function(){
                    this.show = !this.show
                },
                // 显示时触发
                handleBeforeEnter : function(el){
                    el.style.opacity = 0;
                },
                // before-enter触发之后,真正的运行动画了,就执行
                handleEnter : function(el,done){
                    Velocity(el,{
                        opacity : 1
                    },{
                        duration : 1000,
                        complete : done
                    })
                },
                handleAfterEnter : function(el){
                    alert("动画结束")
                }
            }
        })
    </script>
</body>
</html>
上一篇 下一篇

猜你喜欢

热点阅读