Home > php教程 > PHP源码 > Lucky Wheel - Lottery program implemented in jQuery PHP - under improvement

Lucky Wheel - Lottery program implemented in jQuery PHP - under improvement

WBOY
Release: 2016-07-06 13:28:29
Original
1508 people have browsed it
Jump to [1] [Full screen preview]
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>小雨在线网站自营销研究</title>
    <link rel="stylesheet" type="text/css" href="css/style.css"/>
    <!--<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>-->
    <script src="//cdn.bootcss.com/jquery/3.0.0/jquery.min.js"></script>
    <script type="text/javascript" src="js/jQueryRotate.2.2.js"></script>
    <script type="text/javascript" src="js/jquery.easing.min.js"></script>


    <script type="text/javascript">


        $(function () {
            $("#startbtn").click(function () {
                lottery();
            });
        });
        function lottery() {
            $.ajax({
                type: 'POST',
                url: 'data.php',
                dataType: 'json',
                cache: false,
                error: function () {
                    alert('出错了!');
                    return false;
                },
                success: function (json) {
                    $("#startbtn").unbind('click').css("cursor", "default");
                    var a = json.angle; //角度
                    var p = json.prize; //奖项
                    $("#startbtn").rotate({
                        duration: 3000, //转动时间
                        angle: 0,
                        animateTo: 1800 + a, //转动角度
                        easing: $.easing.easeOutSine,
                        callback: function () {
                            var con = confirm('恭喜你,中得' + p + '\n还要再来一次吗?');
                            if (con) {
                                lottery();
                            } else {
                                return false;
                            }
                        }
                    });
                }
            });
        }


    </script>


</head>
<body class="keBody">
<h1 class="keTitle">小雨在线网站自营销研究</h1>

<div class="kePublic">
    <!--效果html开始-->
    <div class="demo">
        <div id="disk"></div>
        <div id="start"><img src="images/start.png" id="startbtn"></div>
    </div>
    <!--效果html结束-->
</div>


</body>
</html>

-----------data.php----------------------------------
<?php
/**
 * Created by 小雨在线
 * User: 飛天
 * Date: 2016/6/22 0022
 * Time: 下午 4:27
 */

$prize_arr = array(
    '0' => array('id' => 1, 'min' => 1, 'max' => 29, 'prize' => '一等奖', 'v' => 1),
    '1' => array('id' => 2, 'min' => 302, 'max' => 328, 'prize' => '二等奖', 'v' => 2),
    '2' => array('id' => 3, 'min' => 242, 'max' => 268, 'prize' => '三等奖', 'v' => 5),
    '3' => array('id' => 4, 'min' => 182, 'max' => 208, 'prize' => '四等奖', 'v' => 7),
    '4' => array('id' => 5, 'min' => 122, 'max' => 148, 'prize' => '五等奖', 'v' => 10),
    '5' => array('id' => 6, 'min' => 62, 'max' => 88, 'prize' => '六等奖', 'v' => 25),
    '6' => array('id' => 7, 'min' => array(32, 92, 152, 212, 272, 332), 'max' => array(58, 118, 178, 238, 298, 358), 'prize' => '七等奖', 'v' => 50)
);



function getRand($proArr)
{
    $result = '';

    //概率数组的总概率精度

    $proSum = array_sum($proArr);

    //概率数组循环
    foreach ($proArr as $key => $proCur) {
        $randNum = mt_rand(1, $proSum);
        if ($randNum <= $proCur) {
            $result = $key;
            break;
        } else {
            $proSum -= $proCur;
        }
    }
    unset ($proArr);

    return $result;
}


foreach ($prize_arr as $key => $val) {
    $arr[$val['id']] = $val['v'];
}

$rid = getRand($arr); //根据概率获取奖项id

$res = $prize_arr[$rid - 1]; //中奖项
$min = $res['min'];
$max = $res['max'];
if ($res['id'] == 7) { //七等奖
    $i = mt_rand(0, 5);
    $result['angle'] = mt_rand($min[$i], $max[$i]);
} else {
    $result['angle'] = mt_rand($min, $max); //随机生成一个角度
}
$result['prize'] = $res['prize'];

echo json_encode($result);



Copy after login
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template