javascript抽奖插件+概率计算

写了一个抽奖的jquery插件和计算概率的方法, 结合起来就是一个简单的概率抽奖, 不过实际项目中基本不会把抽奖概率的计算放在前端处理~。

概率计算

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;
    }
};

demo

博客园markdown代码之间不能有空行真的很无语啊

javascript抽奖插件+概率计算,布布扣,bubuko.com

时间: 2024-08-26 10:00:19

javascript抽奖插件+概率计算的相关文章

php计算抽奖的概率

<?php //计算抽奖的概率 function get_rand($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; } } uns

自制Javascript分页插件,支持AJAX加载和URL带参跳转两种初始化方式,可用于同一页面的多个分页和不同页面的调用

闲话部分 最近闲着实在无聊,就做了点小东西练练手,由于原来一直在用AspNetPager进行分页,而且也进行了深度的定制与原有系统整合的也不错,不过毕竟是用别人的,想着看自己能试着做出来不能,后台的分页插件已经有比较成熟的了,那就自己试着写一个前台分页吧. 话不多说,先上效果图: 优点与缺点 来说说优缺点吧,首先AspNetPager是后台分页控件,所以在向客户端回传HTML文档之前生成HTML阶段 就会把分页代码生成完毕,然后回传,而JS是前端代码,就是HTML文档在服务器组织完毕往客户端传送

javascript功能插件大集合,写前端的亲们记得收藏

导读:GitHub 上有一个 Awesome – XXX 系列的资源整理.awesome-javascript 是 sorrycc 发起维护的 JS 资源列表,内容包括:包管理器.加载器.测试框架.运行器.QA.MVC框架和库.模板引擎.数据可视化.时间轴.编辑器等等. 伯乐在线已在 GitHub 上发起「JavaScript 资源大全中文版」的整理.欢迎扩散.欢迎加入. https://github.com/jobbole/awesome-javascript-cn js包下载地址:http:

javascript日历插件

最近在尝试着写javascript日历插件,所以也到github上看国外人日历源码,或者国内人写的好点的,也在研究点,虽然看到网上有一大把的日历控件,但是没有几个是自己想要的,虽然效果是实现了,但是看他们的源码,头有点大,所以自己也在研究这方面的东西.周末用了2天来研究别人写的代码 自己也试着做做demo,今天正好基本功能完成了,所以趁着这个机会分享下:我们可以先来看看效果:JSFiddler地址如下: demo链接请点击我 基本的配置如下:    targetCls '',    输入框dom

Feature.js-轻量级浏览器特性检测JavaScript库插件

简要教程 Feature.js是一款轻量级的浏览器特性检测JavaScript库插件.该插件运行速度快,使用简单,文件只有1kb大小.通过Feature.js你可以检测客户浏览器是否支持某些特性,并针对这些特性编写代码. Feature.js会自动在页面初始化时进行加载,但是它不会自动进行特性检测,直到你在代码中调用它时才会进行指定特性的检测. 通过Feature.js你可以对浏览器进行特性检测,例如检测浏览器是否支持CSS 3D transforms,为支持该特性的浏览器编写代码来操纵元素进行

条件随机场入门(三) 条件随机场的概率计算问题

条件随机场的概率计算问题是给定条件随机场 P(Y|X) ,输入序列 x 和输出序列 y ,计算条件概率 $P(y_i|x)$ , $P(y_{i-1},y_i|x)$ 以及相应的数学期望的问题.为了方便起见,像 HMM 那样,引进前向-后向向量,递归地计算以上概率及期望值.这样的算法称为前向-后向算法. 前向-后向算法 对每个指标 $i = 0,1,-,n+1$ ,定义前向向量 $a_i(x)$ ,对于起始状态 $i=0$: \[a_0(y|x) = \left \{ \begin{aligne

程序员眼中的统计学(3)】概率计算:把握机会

概率计算:把握机会 作者 白宁超 2015年10月13日23:23:13 摘要:程序员眼中的统计学系列是作者和团队共同学习笔记的整理.首先提到统计学,很多人认为是经济学或者数学的专利,与计算机并没有交集.诚然在传统学科中,其在以上学科发挥作用很大.然而随着科学技术的发展和机器智能的普及,统计学在机器智能中的作用越来越重要.本系列统计学的学习基于<深入浅出统计学>一书(偏向代码实现,需要读者有一定基础,可以参见后面PPT学习).正如(吴军)先生在<数学之美>一书中阐述的,基于统计和数

HMM的概率计算问题和预测问题的java实现

HMM(hidden markov model)可以用于模式识别,李开复老师就是采用了HMM完成了语音识别. 一下的例子来自于<统计学习方法> 一个HMM由初始概率分布,状态转移概率分布,观测概率分布确定.并且基于两个假设: 1 假设任意时刻t的状态只依赖于前一个时刻的状态,与其他时刻的状态和观测序列无关 2 假设任意时刻的观测只依赖与该市可的马尔科夫的状态,与其他观测,状态无关. 基于此,HMM有三个基本问题: 1 概率计算问题,给定模型和观测序列,计算在模型下的观测序列出现的概率 2 预测

封装javascript分页插件——可以使用的测试版(β版)

上一篇测试版的代码我们发现了很多问题,在这一版本中我们将解决.上一版的连接地址:封装javascript分页插件——测试版 最主要的就是修改核心方法: function initTag() { pageModel.$element.html("") var pageTagDynamic = ""; if (pageModel.pageCountTag >= pageModel.pageCount) { pageModel.pageCountTag = page