美文网首页自留地
uni-app 中使用动画-animation

uni-app 中使用动画-animation

作者: Jeex | 来源:发表于2020-07-25 10:40 被阅读0次

设置动画执行动画的标签

<view class="undone-order" :animation="animationData"  >
    <view class="t-content">
        您有未完成的订单!
    </view>
</view>

先初始化一个动画

<script>
    var timer = null ; //创建一个定时器
    export default {
            data() {
                return {
                    animation:'',
                    animationData: {},
                    isStop:true
                };
        },
        onShow() {
            // 初始化一个动画
            var animation = uni.createAnimation({
                transformOrigin: "50% 0 50%",  
                duration: 1000,  //动画持续1秒
                timingFunction: 'linear',  //linear 全程匀速运动
                delay:200  //延迟两秒执行动画
            })
            this.animation = animation
            if (this.isStop) {
                // 使用动画
                this.scaleAndScale()
                timer = setInterval(()=>{  //创建定时器,3秒执行异一次
                    this.scaleAndScale()
                    console.log('每三秒执行一次 , 达到往复运动的效果')
                },3000)
            } else {
                this.noscaleAndScale()
            }
        },
       onHide() { //在页面隐藏时也要清除定时器  
        if(timer){
                console.log('清除定时器-' + timer)
                clearInterval(timer)
            }
        },
        onUnload(){ //在页面卸载时清除定时器 避免出现多个定时器连续创建动画
            if(timer){
                console.log('清除定时器-' + timer)
                clearInterval(timer)
            }
        },
        methods:{
            // 定义动画内容
            scaleAndScale() {
                // 定义动画内容
                this.animation.scale(1.2, 1.2).step() //先放大1,2倍
                this.animation.scale(1, 1).step() //缩小至原来的大小
                // 导出动画数据传递给data层
                this.animationData = this.animation.export(); //每次执行导出动画时 会覆盖之前的动画
            },
            noscaleAndScale() {
                this.animation.scale(1, 1).step()
                this.animationData = this.animation.export()
            },
        }
    }
</script>

最后别忘啦 在页面隐藏 和 页面卸载时 清除定时器 ~

相关文章

  • 前端训练营第九周学习总结

    动画 Animation @keyframes定义 animation: 使用 属性 The animation ...

  • uni-app 中使用动画-animation

    设置动画执行动画的标签 先初始化一个动画 最后别忘啦 在页面隐藏 和 页面卸载时 清除定时器 ~

  • Flutter 动画效果

    在动画方面 Flutter 提供了 Animation 类提供使用。 动画 Flutter 中创建动画,请创建名为...

  • 2017-06-18

    css3中变形与动画(上) 1.Animation 动画定义animation动画2.Animation动画播放 ...

  • CSS-3D知识

    1.CSS动画 1.1 CSS动画属性-animation animation:为CSS动画属性,使用该属性可以替...

  • Android动画目录

    Android中的动画分类 Animation(动画):View Animation(视图动画):帧动画(Fram...

  • uni-app animation动画

    uni.createAnimation(OBJECT) 官方文档 官方是这么描述animation动画的过程: 创...

  • CSS3动画

    在CSS3中,动画效果使用animation属性来实现。animation属性和transition属性功能是相同...

  • animation

    animation是所有动画属性的简写,属性包括: animation-name使用简写属性animation可以...

  • iOS 常用第三方框架 看这里就够了(2)

    ======== 动画 Core Animation笔记,基本的使用方法 - Core Animation笔记,基...

网友评论

    本文标题:uni-app 中使用动画-animation

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