簡單實現大轉盤抽獎
實現效果:
點選“開始抽獎”,非同步到後臺請求抽獎結果,指標根據後臺返回的結果指向獎項。
效果圖:
前端:
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