zoukankan      html  css  js  c++  java
  • php 大转盘抽奖

    包在文件中 lottery.zip

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="utf-8">
    <meta name="keywords" content="html5,本地存储" />
    <meta name="description" content="Helloweba演示平台,演示XHTML、CSS、jquery、PHP案例和示例" />
    <title>幸运大转盘-jQuery+PHP实现的抽奖程序</title>
    <link rel="stylesheet" type="text/css" href="../css/main.css" />
    <style type="text/css">
    .demo{417px; height:417px; position:relative; margin:50px auto}
    #disk{417px; height:417px; background:url(disk.jpg) no-repeat}
    #start{163px; height:320px; position:absolute; top:46px; left:130px;}
    #start img{cursor:pointer}
    </style>
    <script type="text/javascript" src="http://xhdoctor.ci.com/static/js/jquery-3.1.0.min.js"></script>
    <script type="text/javascript" src="jQueryRotate.2.2.js"></script>
    <script type="text/javascript" src="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+' 还要再来一次吗?');
    if(con){
    lottery();
    }else{
    return false;
    }
    }
    });
    }
    });
    }
    </script>
    </head>

    <body>
    <div id="main">
    <div class="msg"></div>
    <div class="demo">
    <div id="disk"></div>
    <div id="start"><img src="start.png" id="startbtn"></div>
    </div>
    <div class="ad_demo"><script src="/js/ad_js/ad_demo.js" type="text/javascript"></script></div><br/>
    </div>

    <!--<p id="stat"><script type="text/javascript" src="http://js.tongji.linezing.com/1870888/tongji.js"></script></p>-->
    </body>
    </html>

    <?php
    $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)
    );
    // 1 2 5 7 10 25 50
    function getRand($proArr) {
    $result = '';
    //概率数组的总概率精度 v值的和
    $proSum = array_sum($proArr);
    //概率数组循环
    foreach ($proArr as $key => $proCur) {
    //1 - 100 之间的随机数
    $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);

  • 相关阅读:
    Entity Framework Code-First(17):Database Initialization Strategy
    Entity Framework Code-First(16):Move Configurations
    Entity Framework Code-First(15):Cascade Delete
    Entity Framework Code-First(14):From Existing DB
    Entity Framework Code-First(13):Configure Many-to-Many
    Entity Framework Code-First(12):Configure One-to-Many
    JAVA-初步认识-第六章-封装思想
    JAVA-初步认识-第六章-封装代码示例
    JAVA-初步认识-第六章-引用数据类型参数传递图解
    JAVA-初步认识-第六章-基本数据类型参数传递图解
  • 原文地址:https://www.cnblogs.com/lijiageng/p/5752192.html
Copyright © 2011-2022 走看看