学习vue第十二节,使用钩子函数完成vue动画效果

 

复制代码
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="lib/vue-2.4.0.js" type="text/javascript" charset="utf-8"></script>
        <style type="text/css">
            .ball{
                width: 20px;
                height: 20px;
                background-color: red;
                border-radius: 50%;
            }
        </style>
    </head>
    <body>
        
        <div id="app">
            <button type="button" @click="flag=!flag">半程动画</button>
            
            <!-- 
            绑定动画的钩子函数
                before-enter进入动画前    
                enter 进入动画
                after-enter 进入动画后
             -->
            <transition @before-enter="beEnter" @enter="enter" @after-enter="afEnter">
                <div v-if="flag" class="ball">
                    
                </div>
            </transition>
            
        </div>
        
        <script type="text/javascript">
            
            var vm=new Vue({
                el:'#app',
                data:{
                    flag:false
                },
                methods:{
                    /* el:表示要执行的dom元素 */
                    
                    beEnter(el){//动画还未开始【起始位置】
                         el.style.transform = "translate(0, 0)"
                    },
                    enter(el,done){
                        el.offsetHeight//写这个才会有动画
                         el.style.transform = "translate(150px, 450px)"
                        el.style.transition = 'all 1s ease';
                        // 相当于done 是 afterEnter 函数的引用
                        done();
                    },
                    afEnter(el){
                        this.flag=!this.flag
                    }
                }
                
            })
            
            
        </script>
    </body>
</html>
复制代码

 

posted @   三线码工  阅读(240)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示