返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue组件实现数字滚动抽奖效果
  • 437
分享到

Vue组件实现数字滚动抽奖效果

2024-04-02 19:04:59 437人浏览 泡泡鱼
摘要

本文实例为大家分享了Vue组件实现数字滚动抽奖效果的具体代码,供大家参考,具体内容如下 可调整数字滚动速度,可指定开奖延迟时间,可指定开奖数字,按个人需求自行改动(录了个效果供参考,

本文实例为大家分享了Vue组件实现数字滚动抽奖效果的具体代码,供大家参考,具体内容如下

可调整数字滚动速度,可指定开奖延迟时间,可指定开奖数字,按个人需求自行改动(录了个效果供参考,临时找的录屏,表介意)
不一一精简了

组件代码

<template>
    <div class="info-span04" style="color: #333333;">
        中奖号码:
        <div style="vertical-align: middle;display: inline-block;">
            <div class="openNumber" v-for="(item, index) in awardCode">
                <div class="num mui-text-center">
                    <div class="span value">
                        <transition name="down-up-translate-fade">
                            <div :key="item.value">{{item.value}}</div>
                        </transition>
                    </div>
                </div>
            </div>
        </div>
    </div>
</template>
<script>
    export default {
        name: 'numberRolling',
        data () {
            return {
                interval: null,
                interval_one: null,
                interval_two: null,
                awardCode: [
                    {name: 'oneDigit', value: '?'},
                    {name: 'tenDigit', value: '?'},
                    {name: 'hundredsDigit', value: '?'}
                ],
            }
        },
        props:{
            
        },
        // 开奖效果方法
        methods: {
            start() {
                var _this = this;
                if (!this.interval) {
                    let i = 0
                    this.interval = setInterval(function() {
                        _this.awardCode[0].value = ++i <= 9 ? i : (i=-1,++i)
                    }, 100)
                }
            },
            end(i) {
                this.awardCode[0].value = i;
                this.show = !this.show
                clearInterval(this.interval)
                this.interval = null
            },
            start_one() {
                var _this = this;
                if (!this.interval_one) {
                    let j = 0
                    this.interval_one = setInterval(function() {
                        _this.awardCode[1].value = ++j <= 9 ? j : (j=-1,++j)
                    }, 100)
                }
            },
            end_one(j) {
                this.awardCode[1].value = j;
                clearInterval(this.interval_one)
                this.interval_one = null
            },
            start_two() {
                this.show_two = !this.show_two
                var _this = this;
                let k = 0
                if (!this.interval_two) {
                    this.interval_two = setInterval(function() {
                        // _this.k = Math.floor(Math.random() * 10);
                        // if (k < 10) {
                        //     _this.awardCode[2].value = k++;
                        // } else {
                        //     k = 0
                        //     _this.awardCode[2].value = k++;
                        // }
                        _this.awardCode[2].value = ++k <= 9 ? k : (k=-1,++k)
                    }, 100)
                }
            },
            end_two(k) {
                this.awardCode[2].value = k;
                this.show_two = !this.show_two
                clearInterval(this.interval_two)
                this.interval_two = null
            },
            prizeNumber(code) {
                this.awardCode[0].value = code.substr(0,1)
                this.awardCode[1].value = code.substr(1,1)
                this.awardCode[2].value = code.substr(2,1)
            },
        },
        beforeDestroy: function() {
            if(this.interval){
              clearInterval(this.interval)
            }
            if(this.interval_one){
              clearInterval(this.interval_one)
            }
            if(this.interval_two){
              clearInterval(this.interval_two)
            }
        }
    }
</script>
<style lang="sCSS" scoped>
    .openNumber {
        display: inline-block;
        width: vw(52);
        height: vw(52);
        padding-right: vw(36);
        .num {
            width: vw(52);
            height: vw(52);
            overflow: hidden;
            .span {
                color: #fff;
                width: vw(52);
                height: vw(52);
                font-weight: bold;
                float: left;
                .span div {
                    text-align: center;
                }
            }
            .down-up-translate-fade-enter-active,
            .down-up-translate-fade-leave-active {
                transition: all .1s;
                -WEBkit-transition: all .1s;
                -moz-transition: all .1s;
                -o-transition: all .1s;
            }
            .down-up-translate-fade-enter,
            .down-up-translate-fade-leave-active {
                opacity: 1;
            }
            .down-up-translate-fade-leave-active {
                transfORM: translateY(-50px);
                -webkit-transform: translateY(-50px);
                -moz-transform: translateY(-50px);
                -o-transform: translateY(-50px);
            }
            .value {
                background: url('../images/pokinhall-toBeAwarded.png') no-repeat top center;
                background-size: 100% 100%;
                width: vw(52);
                height: vw(52);
                line-height: vw(52);
                font-size: 22px;
                font-weight: bold;
            }
        }
    }
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Vue组件实现数字滚动抽奖效果

本文链接: https://lsjlt.com/news/141725.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Vue组件实现数字滚动抽奖效果
    本文实例为大家分享了Vue组件实现数字滚动抽奖效果的具体代码,供大家参考,具体内容如下 可调整数字滚动速度,可指定开奖延迟时间,可指定开奖数字,按个人需求自行改动(录了个效果供参考,...
    99+
    2024-04-02
  • Unity怎么实现老虎机滚动抽奖效果
    小编给大家分享一下Unity怎么实现老虎机滚动抽奖效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!直接看下效果图吧:制作思路:设计四张图片,五个点,每个图片同时...
    99+
    2023-06-14
  • vue实现文字滚动效果
    本文实例为大家分享了vue实现文字滚动效果的具体代码,供大家参考,具体内容如下 项目需求:系统公告,要从右忘左循环播放的牛皮广告效果。 实现: 方案一:使用定时器和CSS3的过渡属性...
    99+
    2024-04-02
  • vue组件封装实现抽奖随机数
    本文实例为大家分享了vue组件封装实现抽奖随机数的具体代码,供大家参考,具体内容如下 一、子组件 <template>     <div>      <...
    99+
    2024-04-02
  • Unity实现老虎机滚动抽奖效果的示例代码
    直接看下效果图吧: 制作思路: 设计四张图片,五个点,每个图片同时向下一个点移动,到最后一个就回到0号点,以此循环。 场景搭建: 创建Image命名为Bg作为电视框背...
    99+
    2024-04-02
  • JavaScript实现抽奖器效果
    本文实例为大家分享了JavaScript实现抽奖器效果的具体代码,供大家参考,具体内容如下 这次实现的效果如下图: 所实现的功能是:当每次点击中间的抽奖按钮时,会随机选择一个盒子作...
    99+
    2024-04-02
  • Vue transition组件简单实现数字滚动
    目录实现效果Scrip布局动画逻辑控制总结实现效果 Scrip <template> <button @click="addCount">点我滚动数字&...
    99+
    2024-04-02
  • vue组件如何封装实现抽奖随机数
    今天小编给大家分享一下vue组件如何封装实现抽奖随机数的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、子组件<tem...
    99+
    2023-06-29
  • js如何实现抽奖效果
    小编给大家分享一下js如何实现抽奖效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!效果图:代码如下:<!DOCTYPE&...
    99+
    2024-04-02
  • python滚动抽奖功能怎么实现
    你可以使用Python的random模块来实现滚动抽奖功能。以下是一个简单的示例代码: import random import t...
    99+
    2024-03-01
    python
  • vue实现滑动和滚动效果
    本文实例为大家分享了vue实现滑动和滚动效果的具体代码,供大家参考,具体内容如下 面板滑动效果,父组件是resultPanel,子组件是resultOption,仿照了iview中,...
    99+
    2024-04-02
  • JavaScript实现余额数字滚动效果
    目录1.实现背景2.实现思路3.实现过程1.实现背景 上周在一个完成任务领取红包的活动需求中,需要实现一个用户点击按钮弹出领取红包弹窗后,在关 闭弹窗返回原来的页面时,页面余额数字...
    99+
    2024-04-02
  • jquery数字滚动效果怎么实现
    您可以使用jQuery的.animate()方法来实现数字滚动效果。首先,您需要一个HTML元素来显示数字。例如,一个div元素:`...
    99+
    2023-08-09
    jquery
  • python数字滚动效果怎么实现
    要实现数字滚动效果,可以使用Python的Tkinter库来创建一个简单的窗口应用程序。以下是一个示例代码,演示如何实现数字滚动效果...
    99+
    2024-03-01
    python
  • Android实现文字滚动效果
    Android 实现文字滚动效果,自己写了个timer小计时器,textview文字上下翻动效果: public class AutoTextView extends Te...
    99+
    2022-06-06
    动效 Android
  • JS旋转实现转盘抽奖效果
    本文实例为大家分享了JS旋转实现转盘抽奖效果的具体代码,供大家参考,具体内容如下 闲来没事,做了一个模拟转盘抽奖的HTML&JS的效果: 可以在设置的时候,选择几个区域,并...
    99+
    2024-04-02
  • 如何利用css实现一个抽奖动画效果
    这篇文章将为大家详细讲解有关如何利用css实现一个抽奖动画效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先我们先来看下最终的运行效果:从效果图我们可以看到,抽奖会自动进行,并显示中奖信息。这个效果基...
    99+
    2023-06-07
  • vue实现3D切换滚动效果
    本文实例为大家分享了vue实现3D切换滚动效果的具体代码,供大家参考,具体内容如下 今天写项目,遇到一个点击切换的滚动需求,贴出来,做一个记录 这个是最终的一个效果,点击左右小箭头...
    99+
    2024-04-02
  • js实现文字滚动的效果
    本文实例为大家分享了js实现文字滚动的效果的具体代码,供大家参考,具体内容如下 在之前小编已经和大家介绍了一些常用的js动画效果,在此,和大家介绍一种可能不太常用的动画效果。该动画效...
    99+
    2024-04-02
  • Vue金融数字格式化(并保留小数)数字滚动效果实现
    目录Vue金融数字格式化(并保留小数) 数字滚动补充:vue做数字滚动效果用vue-countTo实现安装使用Vue金融数字格式化(并保留小数) 数字滚动  提示 &nb...
    99+
    2023-05-16
    vue数字滚动 vue金融数字格式化
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作