uniapp抽奖页面demo

简单demo,替换图片可直接运行。

<template>
    <view>
        <view class="box">
            <image src="/static//lottery_img_bt@3x.png" :animation="animationData" width="30rpx" height="30rpx"></image>
            <image src="/static//hq3.png" @click="run"></image>
        </view>
        <view >index:{{result}} -- {{todoList[result]}}</view>
    </view>
</template>

<script>
    export default {
        data() {
            return {
                animationData: {},
                lastResult: 0,
                result: 0,
                deg: 0,
                todoList: ["跑步", "游泳", "学习", "读书", "工作", "休息"],
            }
        },
        methods: {
            run() {
                let animation = uni.createAnimation({
                    transformOrigin: "50% 50%",
                    duration: 2000,
                    timingFunction: "ease",
                    delay: 0
                });
                this.animationData = animation;
                this.animationData.rotate(this.randomNum()).step();
                this.animationData = this.animationData.export();
            },
            randomNum() {
                this.result = Math.floor(Math.random() * 5); //数组索引:[0,5]
                if (this.result > this.lastResult) {
                    this.deg += 360 * 3 + (this.result - this.lastResult) * 60;
                } else {
                    this.deg += 360 * 3 + 360 - (this.lastResult - this.result) * 60;
                }
                console.log(`result:${this.result},deg:${this.deg}`);
                this.lastResult = this.result;

                return this.deg;
            },
        }
    }
</script>

<style>
    .box {
        width: 300rpx;
        height: 300rpx;
        margin: auto;
        position: relative;
    }

    image {
        position: absolute;
        width: 300rpx;
        height: 300rpx;
    }
</style>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兴趣互联

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值