美文网首页
16.vue中Js动画与Velocity.js库结合

16.vue中Js动画与Velocity.js库结合

作者: yaoyao妖妖 | 来源:发表于2018-07-07 21:22 被阅读8次

    Js钩子动画

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>vvue中Js动画与Velocity.js库结合</title>
        <script src="./vue.js"> </script>
        <link rel="stylesheet" type="text/css" href="./animate.css">
    
    </head>
    <body>
    
        <!-- 动画钩子 -->
        <!-- before-enter -->
        <!-- 入场动画的钩子before-enter   enter   after-enter -->
        <!-- 出场动画的钩子before-leave   leave   after-leave -->
       <div id="root">
           <transition name="fade"
                       @before-enter="handleBeforeEnter"      
                       @enter="handleEnter"
                       @after-enter="handleAfterEnter"
           > 
                <div v-if="show">hello</div>
           </transition>  
           <button @click="handleClick">toggle</button>
    
     
       </div>
    
       <script>  
    
           Vue.component('child-one',{
              
               template:'<div>child-one</div> '
            })
     
           var app = new Vue({
               el:'#root',
               data:{
                show :true
               },
               methods:{
                handleClick:function(){
                     this.show = !this.show
                },
                // 进入动画(通过js的钩子实现入场动画)
                handleBeforeEnter:function(el){
                    el.style.color = 'red'
                },
    
                // handleBeforeEnter之后
                handleEnter:function(el,done){
                    setTimeout(() => {
                        el.style.color = 'green'
                     
                    }, 2000);
    
                    setTimeout(() => {
                        done()
                    }, 4000);
                },
                 //handleEnter的 done()调用之后
                handleAfterEnter:function(el){
                    el.style.color = 'black'
    
    
                }
    
               }
    
           })
    
       </script>
    
    </body>
    
    </html>
    
    

    Velocity.js库和js钩子结合使用

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>vvue中Js动画与Velocity.js库结合</title>
        <script src="./vue.js"> </script>
        <link rel="stylesheet" type="text/css" href="./animate.css">
        <script src="./velocity.js"></script>
    
    </head>
    <body>
    
        <!-- 动画钩子 -->
        <!-- before-enter -->
        <!-- 入场动画的钩子before-enter   enter   after-enter -->
        <!-- 出场动画的钩子before-leave   leave   after-leave -->
       <div id="root">
           <transition name="fade"
                       @before-enter="handleBeforeEnter"      
                       @enter="handleEnter"
                       @after-enter="handleAfterEnter"
           > 
                <div v-if="show">hello</div>
           </transition>  
           <button @click="handleClick">toggle</button>
    
     
       </div>
    
       <script>  
    
           Vue.component('child-one',{
              
               template:'<div>child-one</div> '
            })
     
           var app = new Vue({
               el:'#root',
               data:{
                show :true
               },
               methods:{
                handleClick:function(){
                     this.show = !this.show
                },
                // 进入动画(通过js的钩子实现入场动画)
                handleBeforeEnter:function(el){
                    el.style.opacity = 0;
                },
    
                // handleBeforeEnter之后
                handleEnter:function(el,done){
                    Velocity(el,
                             {opacity:1},
                             {duration:1000,complete:done});
                },
                 //handleEnter的 done()调用之后
                handleAfterEnter:function(el){
                    el.style.color = 'black';
                }
    
               }
    
           })
    
       </script>
    
    </body>
    
    </html>
    

    相关文章

      网友评论

          本文标题:16.vue中Js动画与Velocity.js库结合

          本文链接:https://www.haomeiwen.com/subject/dyoguftx.html