jquery抽獎外掛+概率計算
寫了一個抽獎的jquery外掛和計算概率的方法, 結合起來就是一個簡單的概率抽獎, 不過實際專案中基本不會把抽獎概率的計算放在前端處理~。
lottery.jquery.js
$.fn.extend({ lottery: function(conf) { var def = { lotIndex: 0, // 抽中的索引 item: "li", onClass: "on", speedStart: 50, // 初始速度 speedEnd: 400, // 結束速度 speedType: "", // 預設勻速 可選 change: 減速 overTime: 5000, // 抽獎時長(最短) overCallback: function() {} // 抽獎結束後的回撥函式 }; if (typeof conf.lotIndex === "undefined") { return } def = $.extend({}, def, conf); var $lotteryList = $(this), lotteryControl = {}; lotteryControl = { $el: $lotteryList, item: def.item, itemLen: 0, index: 0, speedType: def.speedType, speedStart: def.speedStart, speed: def.speedStart, speedEnd: def.speedEnd, a: 0, // 加速度 nowTime: 0, // 抽獎已進行時間 overFlag: false, // 抽獎是否結束 onClass: def.onClass, lotIndex: def.lotIndex, overTime: def.overTime, overCallback: def.overCallback, init: function() { this.$items = this.$el.find(this.item); this.itemLen = this.$items.length; this.a = (this.speedEnd - this.speed) / this.overTime; if (this.lotIndex >= this.itemLen) { this.error(); } else { this.start(); } }, start: function() { var self = this; this.play(); this.setStop(); switch (this.speedType) { case "change": this.changeSpeed(); break; } }, play: function() { var $items = this.$items; $items.eq(this.index - 1).removeClass(this.onClass); $items.eq(this.index).addClass(this.onClass); if (this.overFlag && this.index === this.lotIndex) { this.stop(); } else { this.next(); } }, next: function() { var self = this; this.index++; this.index = this.index === this.itemLen ? 0 : this.index; setTimeout(function() { self.play(); }, this.speed); }, changeSpeed: function() { var self = this; setTimeout(function() { self.nowTime += self.speed; if (!self.overFlag) { self.speed = self.speedStart + self.a * self.nowTime; self.changeSpeed(); } }, this.speed); }, setStop: function() { var self = this; setTimeout(function() { self.overFlag = true; }, this.overTime); }, stop: function() { this.overCallback(); }, error: function() { console.log("error......."); } }; lotteryControl.init( ); return this; } });
概率計算
function Probability(conf) { this.probArr = conf || []; this.range = [], this.len = this.probArr.length; if (this.len > 0) { this.init(); } } Probability.prototype = { init: function() { this.setRange(); }, get: function() { var len = this.len, range = this.range, last, randNum, i = 0; if (len === 0) { return; } else if(len === 1) { return 0; } last = range[len -1]; randNum = Math.floor(last* Math.random()); for (; i < len; i++) { if (randNum < range[i]) { break; } } return i; }, setRange: function() { var range = [], probArr = this.probArr, i = 0, len = probArr.length; for(; i<len; i++) { var now = probArr[i], last = range[i-1] || 0; range.push(now+last); } this.range = range; } };
相關推薦
jquery抽獎外掛+概率計算
寫了一個抽獎的jquery外掛和計算概率的方法, 結合起來就是一個簡單的概率抽獎, 不過實際專案中基本不會把抽獎概率的計算放在前端處理~。 demo lottery.jquery.js $.fn.extend({ lottery: function(conf) { var def
利用jQuery旋轉外掛jqueryrotate製作轉盤抽獎
<!DOCTYPE html><html> <head lang="en"> <meta charset="UTF-8"/> <meta name="viewport" conte
轉盤抽獎外掛-jquery.lottery.js
外掛說明: 用於轉盤隨機抽獎,現在設的是轉盤的指標動,指標停留的位置需要自己設定,需要後端返回的資料型別格式為 一等獎:{code : 1 ,msg :'一等獎' } 失敗 {code : 5XX,msg:' '} 可以把成功和失敗返回的後臺資料, 利用 succes
jquery.rotate外掛實現轉盤抽獎示例
css程式碼:.draw-out{width:400px;height:400px;margin:30px auto;position:relative} .draw-bottom{width:400px;height:400px;position:relative}
jquery----抽獎系統
rip play nth lock display parseint align src spa 1、效果 2、html代碼 <!DOCTYPE html> <html> <head> <meta charset="u
HMM_概率計算——forwar_algorithm實現
print pre 技術 pro 序列 定義 pri com int 一、前向算法(遞推) 1)觀測概率初值: 2)遞推: 3)終止: 二、理解前向算法 哈哈,先欠著,沒時間碼字! 三、代碼實現: 1 def getP
jquery開發外掛
1.jQuery.extend(object);為擴充套件jQuery類本身.為類新增新的方法。 2.jQuery.fn.extend(object);給jQuery物件新增方法。 jQuery便是一個封裝得非常好的'類',比如我們用 語句$("#div1")會生成一個 jQuery
jQuery列印外掛JQPRINT
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
jquery.validate 外掛使用
jQuery.validate外掛是一個簡單易用的外掛,主要作用是在表單提交前進行相關輸入專案的有效性 驗證,驗證通過提交表單,否則提示錯誤;但需要特別注意的是,凡是需要採用該外掛驗證的表單項,均需要定義html的name屬性資訊,且和id值的定義一致,才能達到有效性驗證目的 //=======
jQuery-ui外掛datepicker的引數使用詳解
轉載:https://blog.csdn.net/hliq5399/article/details/22406989 概述 日期選擇外掛是一個配置靈活的外掛,你可以定義它的展示方式,包括日期格式、語言、限制選擇日期範圍、新增相關按鈕以及其它導航等。
基於jQuery日曆外掛製作日曆
這篇文章主要介紹了基於jQuery日曆外掛製作日曆的相關資料,需要的朋友可以參考下 來看下最終效果圖吧: 是長得醜了一點,不要吐槽我-。- 首先來說說這個日曆主要的製作邏輯吧: ·一個月份最多有31天,需要一個7X6的表格去裝載 ·如果知道了某個月份1號是星期幾,這個月份有多少天,一個迴圈就可以顯示某個月的
lightslider-支援移動觸控的輕量級jQuery幻燈片外掛
外掛簡介 lightslider是一款輕量級的響應式jQuery幻燈片外掛。lightslider幻燈片外掛能夠支援移動觸控裝置,它可以製作為帶縮圖的內容幻燈片,或者製作為無限迴圈的旋轉木馬。它的特點還有: 下載地址 線上演示 下載地址:http://www.jqhtml.com/5633.html
jQuery幻燈片外掛Owl Carousel外掛
簡介 Owl Carousel 是一個強大、實用但小巧的 jQuery 幻燈片外掛,它具有一下特點: 相容所有瀏覽器 支援響應式 支援 CSS3 過度 支援觸控事件 支援 JSON 及自定義 JSON 格式 支援進度條 支援自定義事件
使用jquery.form外掛的方法
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body&
jQuery validate外掛做正整數表單驗證
jQuery validate外掛為表單提供了強大的表單驗證功能。 詳細參考菜鳥教程: http://www.runoob.com/jquery/jquery-plugin-validate.html 下面是js表單驗證正整數的例子: //自定義校驗,正整數 jQuery.vali
jquery 簡易外掛 非同步form提交、檔案非同步提交,jquery 檔案非同步提交
$.ajax 預設不支援檔案提交, 這裡提供一個form target = iframe 的非同步提交外掛 如果需要提交檔案form 需要設定屬性 enctype="multipart/form-data",使用外掛後會自動使用target =&nb
Jquery時間外掛
使用一個閉包自執行函式編寫外掛,傳入JQuery物件。 (function($){ $.fn.extend({ clock:function(options){ var defaults = {height:'50px',width:'13
關於抽獎的概率演算法
@Test public void test(){
概率計算
目錄 概率的加法法則 條件概率 乘法公式 全概率公式 P(A)=A所含樣本點數/總體所含樣本點數。實用中經常採用“排列組合”的方法計算· 條件概率:當P(A)>0,P(B|A)=P(AB)/P(A) 加法法則:P(A∪B)=P(A)+P(B)-P(AB) 乘
jQuery form外掛的使用
jQuery Form簡介 jQuery Form外掛是一個優秀的Ajax表單外掛,可以非常容易地、無侵入地升級HTML表單以支援Ajax。 jQuery Form有兩個核心方法 – ajaxForm() 和 ajaxSubmit(), 它們集合了從控制表單元素到決定如何管理提交程序