1. 程式人生 > >簡單實現大轉盤抽獎

簡單實現大轉盤抽獎

實現效果:
點選“開始抽獎”,非同步到後臺請求抽獎結果,指標根據後臺返回的結果指向獎項。
效果圖:
這裡寫圖片描述

前端:
1.引入

jquery以及jquery.rotate.min.js

2.頁面

 <div class="rotary-main">
              <ul class="rotary-list">
                <li class="prize item1"><img src="<ls:templateResource item='/resources/templets/goat/images/thanks.png'/>"
>
</li> <li class="prize item2"><img src="<ls:templateResource item='/resources/templets/goat/images/first-prize.png'/>"></li> <li class="prize item3"><img src="<ls:templateResource item='/resources/templets/goat/images/thanks.png'/>">
</li> <li class="prize item4"><img src="<ls:templateResource item='/resources/templets/goat/images/third-prize.png'/>"></li> <li class="prize item5"><img src="<ls:templateResource item='/resources/templets/goat/images/thanks.png'/>"></li
>
<li class="prize item6"><img src="<ls:templateResource item='/resources/templets/goat/images/second-prize.png'/>"></li> <li class="prize item7"><img src="<ls:templateResource item='/resources/templets/goat/images/thanks.png'/>"></li> <li class="prize item8"><img src="<ls:templateResource item='/resources/templets/goat/images/third-prize.png'/>"></li> </ul> <div class="rotary-btn" ></div> </div>

其中li標籤的是圖片,這裡需注意,rotary-btn則是“開始抽獎”按鈕。

3.JS
1.寫轉盤轉動的方法

function scollRote(angles){
    $(".rotary-btn").rotate({
         angle:0,
         animateTo:angles+1800,
         duration:6000,
         callback:function (){}
    });
}

引數:angles是轉動的角度,主要是根據後臺返回的結果控制指標轉向,
duration轉盤轉動的時間。。。。
具體引數可參考rotate外掛的用法。
轉動的角度,需自己根據圖片多少計算計算,

1.開始抽獎繫結事件

function bind(){
    $(".rotary-btn").bind("click",function(){
        btnRotate();
    });
}

2.抽獎:非同步請求,根據返回結果呼叫轉盤轉動的方法,並控制指標指向

//抽獎
function btnRotate(){
     //解綁,指標轉動的時候不可再次請求
    $(".rotary-btn").unbind("click"); 
    //抽獎請求,返回抽獎結果
     $.ajax({
            url:  "?", 
            type:'post',  
            async : true, //預設為true 非同步   
            data:{},
            dataType : 'json',
            error: function(jqXHR, textStatus, errorThrown) {
            },
            beforeSend:function(){},
            success:function(data){
                              //比如這裡返回的data是不中獎
                              //不中獎的圖片所對應角度陣列,然後隨機返回,使指標根據角度指向圖片
                        var animateTo=[0,90,180,270]; 
                        scollRote(animateTo[Math.floor(Math.random()*animateTo.length)]);
                        setTimeout(function(){
                            //由於指標轉動設定為6000,那我同步時間,等待指標停止,再進行其他提示操作,這裡是再繫結指標轉動方法
                            bind();
                        }, 6000);
            }
        });

}

注:這裡指標指向圖片的角度需自己計算,一圈360,可根據圖片的個數進行相除

後臺:
簡單抽獎概率邏輯:
比如20/100;

int randomNum = 0;
        Random rand = new Random();  
        for(int i = 0 ;i<fz;i++){
            randomNum = (int)(rand.nextInt(fm));
            if(randomNum==1||randomNum==2||randomNum==3){
              break;
            }
        }

其中fz是20,fm是100,如果隨機數返回1,2,3就代表中獎
除此簡單邏輯也可以複製做,設定中獎期間,隨機數返回某個期間就代表某個獎項。

相關推薦

簡單實現轉盤抽獎

實現效果: 點選“開始抽獎”,非同步到後臺請求抽獎結果,指標根據後臺返回的結果指向獎項。 效果圖: 前端: 1.引入 jquery以及jquery.rotate.min.js 2.頁面 <div cl

PHP實現轉盤抽獎演算法例項

本文主要向大家介紹了PHP語言實現大轉盤抽獎演算法,通過具體的例項向大家展示,希望對大家學習PHP抽獎有所幫助。流程:1.拼裝獎項陣列,2.計算概率,3.返回中獎情況 程式碼如下:中獎概率 ' v ' 可以在後臺設定,傳到此方法中,注意傳整數 1 function get_gift(){ 2

js實現轉盤抽獎活動

cli absolute script time poi nsf for tag .com 一、建立html頁面 <!DOCTYPE html> <html lang="en"> <head> <meta cha

js實現遊戲轉盤抽獎

document .cn itl interval 空格 device max floor star <!DOCTYPE html> <html> <head> <title>js抽獎</title>

PHP新寫的轉盤抽獎源碼

體驗 旅遊 return con ont turn http get each 中獎概率 抽獎大轉盤演示:http://www.sucaihuo.com/php/3301.html function getRand($proArr, $proCount) {

Unity 2017 使用UGUI製作轉盤抽獎

涉及到的外掛:Dotween 在“Hierarchy”面板建立一個Image,這個Image用來顯示大轉盤的那個圓盤,我用的UGUI裡預設的那個圓圓的圖片,放大後很模糊,不過不打緊 接著建立一個

JAVA轉盤抽獎演算法

獎品的概率根據權重計算(當前權重/總權重) 程式碼如下 int totalWeight = 1000;//計算出來的總權重 int random = (int)(Math.random() * totalWeight + 1);//隨機數 int stepTotal =

vue適配3到8個轉盤抽獎

vue實現適配獎品不固定的大轉盤抽獎,裡面的實現程式碼就是vue+js,不需要jq,原理就是根據介面傳過來的獎品數量,計算出來每個獎品應該旋轉的角度,然後渲染到頁面上 <template> <div class="content"

微信小程式開發之轉盤 抽獎

上程式碼: 1.index.wxml <view class="container-out"> <view class="circle" wx:for="{{circleList}}" style="top:{{item.topCir

Android轉盤抽獎簡單實現

public class ZhuanPan2 extends View implements View.OnClickListener{ private Paint mPaint; private int mwidth; private int mpidding; p

【專案實戰】——Java根據獎品權重計算中獎概率實現抽獎(適用於砸金蛋、轉盤抽獎活動)

  雙蛋節(聖誕+元旦)剛剛過去,前幾天專案上線的砸金蛋活動也圓滿結束。       現在在許多網站上都會有抽獎的活動,抽獎的演算法也是多種多樣,這裡介紹一下如何根據每種獎品的權重來抽獎,適用於

幸運轉盤微信公眾抽獎模式開發

幸運大轉盤 幸運大轉盤系統模式定制開發找136-027-9-9492 小楊團隊 微電。幸運大轉盤系統開發平臺、幸運大轉盤開發多少錢、幸運大轉盤如何運營、幸運大轉盤微信端系統開發、幸運大轉盤抽獎方案定制開發、幸運大轉盤抽獎系統源碼開發搭建 一、幸運大轉盤抽獎系統模式軟件玩法規則介紹:

寫一個一個抽獎轉盤

現在我們再來寫一個簡單的大轉盤 我們用到的東西和之前寫的時鐘是一樣的,不過最多是程式碼複雜點 我們再來回顧一下之前時鐘的用到的知識點 1.首先是CSS3中的2D旋轉技術 用到的 transform()方法 設定其中的rotate屬性 2.其次用到了js中的計時技術一個是setInterval

[原創]資料:布隆過濾器C#版簡單實現

public class BloomFilter { public BitArray _BloomArray; public Int64 BloomArryLength { get; } public Int64 DataArray

抽獎轉盤

1.佈局 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http:

解說微信抽獎轉盤小程式的開發過程以及一款抽獎轉盤活動軟體!

大家都知道在微信小程式在現代的營銷市場中有著舉足輕重的地位,而微信小程式中也會帶著許多的微信抽獎的營銷方式,微信大轉盤,微信九宮格,微信搖一搖,微信刮刮樂等等,今天我們便來說一說微信大轉盤抽獎的開發方式,我們以一款已經很完善的微信抽獎製作工作——趣推邦小程式為解說案例。 一:設計思路 抽獎小

一個簡易的抽獎轉盤

程式碼如下 <!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Price Draw</title> <style> table{ border:

自定義View來畫轉盤進行抽獎的過程

package com.example.app_bingtu_work; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import andro

第K/Top K及其簡單實現

見網上第K大多數只給思路,沒給實現,我就來填坑了。 update 2017-09-23 有同學反饋說面試遇到這個題,博文給了助攻,哈預料之中。 Top K 和第K大基本等價,以下我們以第K大為例且假設第K大一定存在,Top K 可以在第k大基礎上稍微

Java+Jquery實現轉盤抽獎系統

今天平安夜,協會需要做活動,第一個活動就是在群裡發紅包,第二個就是進協會網站的抽獎系統進行抽獎。 由於需要,所以我零時做了一個抽獎系統,是一種大轉盤抽獎的。效果圖如下: 這個基於Java抽獎的幸運大轉盤抽獎系統是和微信的有點像,改編自一個網友的程式碼。 前臺大概就是h