幸运大转盘

作者: w_wx_x | 来源:发表于2019-01-18 14:21 被阅读7次

新年伊始,各种年会抽奖,那我们就来做一个简单版的大转盘,蹭一蹭节日的热闹气氛吧

效果如下:


效果图.gif

所需素材如下:


pointer.png
turntable.png
turntable-bg.jpg

我们开始吧!!!

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>抽奖</title>
        <script type="text/javascript" src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
        <!-- 这里是css部分 -->
        <style>
            #bg {
                width: 650px;
                height: 600px;
                margin: 0 auto;
                background: url(img/turntable-bg.jpg) no-repeat;
                position: relative;
            }

            img:nth-of-type(1) {
                position: absolute;
                z-index: 10;
                top: 155px;
                left: 247px;
            }

            img:nth-of-type(2) {
                position: absolute;
                z-index: 5;
                top: 60px;
                left: 116px;
            }
        </style>
    </head>

    <body>
        <!-- 这里是HTML结构部分 -->
        <div id="bg">
            <img src="img/pointer.png" alt="pointer" id="pointer" />
            <img src="img/turntable.png" alt="turntable" id="turntable" />
        </div>
        <!-- 这里是js部分 -->
        <script>
            // 拿到两个img
            var oPointer = $('#pointer')
            var oTurntable = $('#turntable')

            var cat = 360 / 7   // 旋转过每个奖项大约的角度
            var offOn = true    // 点击按钮后旋转没结束不允许第二次旋转
            var temp = 0         //  记录上一次旋转的角度

            // 点击开始抽奖
            oPointer.click(function() {
                if (offOn) {
                    offOn = !offOn
                    ratating()
                }
            })
                        // 转盘旋转
            function ratating() {
                var rdm = Math.floor(Math.random() * 3600) + 3600   // 随机计算出旋转的角度       
                                // 旋转动画     
                oTurntable.css({
                    transition: 'all 4s',
                    transform: 'rotate(' + (rdm + temp) + 'deg)'
                })
                // 旋转后,根据角度判断对应的奖项
                setTimeout(function() {
                    offOn = !offOn
                    temp = (rdm + temp) % 360     // 求余,算出在哪个奖项
                    if (temp <= cat * 1) {
                        alert('4999元')
                    } else if (temp <= cat * 2) {
                        alert('免单50元')
                    } else if (temp <= cat * 3) {
                        alert('免单10元')
                    } else if (temp <= cat * 4) {
                        alert('免单5元')
                    } else if (temp <= cat * 5) {
                        alert('免分期服务费')
                    } else if (temp <= cat * 6) {
                        alert('提高白条额度')
                    } else if (temp <= cat * 7) {
                        alert('未中奖')
                    }
                    oTurntable.css({
                        transition: 'all 0s',
                        transform: 'rotate(' + temp + 'deg)'
                    })
                }, 4000)
            }
        </script>
    </body>
</html>

你们还有什么好的实现方式分享一下,一起学习

相关文章

  • 微信小程序幸运大转盘制作教程

    幸运大转盘抽奖方式是我见过最常用的抽奖方式了,这种方式简单,直接,让人看着兴奋。那么,幸运大转盘微信小程序怎么制作...

  • 幸运大转盘

    时间:7月19日 学员:黄诗淇 任课教师:张老师 课程目标:1.了解齿轮传动 2.加速:大带小,减速:小带大 3....

  • 幸运大转盘

    学员:唐逸夫、孙铭涵、从宁菲 时间:6月10日 任课教师:张老师 课程目标::1.了解齿轮传动,大齿轮带动小齿轮做...

  • 幸运大转盘

    时间:12月24日 学员:王博浩洋 任课教师:张老师 课程目标:1.了解齿轮传动,大齿轮带动小齿轮做加速运动,小齿...

  • 幸运大转盘

    时间:12月24日 学员:诸星翰 任课教师:张老师 课程目标:1.了解齿轮传动,大齿轮带动小齿轮做加速运动,小齿轮...

  • 幸运大转盘

    时间:12月24日 学员:赵若蘅 任课教师:张老师 课程目标:1.了解齿轮传动,大齿轮带动小齿轮做加速运动,小齿轮...

  • 幸运大转盘

    2019年6月5日 星期三 晴 今天的体育课,体育老师让我们回教室。我看见陈恩佩手里拿着一只...

  • 幸运大转盘

    进入简书有个把月了,不会写文章,只好看看别人写的文章点点赞,简单评论下,再就是每天都要转转幸运转盘,每天转出20几...

  • 幸运大转盘

    新年伊始,各种年会抽奖,那我们就来做一个简单版的大转盘,蹭一蹭节日的热闹气氛吧 效果如下: 所需素材如下: 我们开...

  • 幸运大转盘

    要么做,要么不做。应该让自己的字典里只有这两种声音。然后就不会有那么多麻烦纠结的事了。做就为这件事各种做准备好好...

网友评论

    本文标题:幸运大转盘

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