Js 转动抽奖实现

一、样本

地址:http://js.zhuamimi.cn/choujiang/index.htm

源码:https://pan.baidu.com/s/15KhesfcLf1WMOom6PhzCjA

二、实现方法

1:构建环形链表

构建环形链表主要是为了无限循环子节点

环形链表数据结构与算法里面有介绍这里就不做讲解了。

2:控制中奖概率

怎么控制中奖概率,我在前面写个控制随机数生成概率的的函数:https://www.cnblogs.com/whnba/p/10214312.html

3:控制转动速度

这里是通过设置一个 起始速度、结束速度、步涨值,来实现控制的程序结束。

4:实例

1<!DOCTYPE html> 2 3<head> 4 <meta charset="utf8"> 5 <title>转动抽奖</title> 6 <link rel="stylesheet" type="text/css" href="style.css"> 7 <script src="ChouJiang.js"></script> 8</head> 9 10<body> 11 <div class="main"> 12 <ul id="choujiang"> 13 <li class="s s1">1元红包</li> 14 <li class="s s2">2元红包</li> 15 <li class="s s3">3元红包</li> 16 <li class="s s4">4元红包</li> 17 <li class="s s5">666元红包</li> 18 <li class="s s6">谢谢光临</li> 19 <li class="s s7">50元红包</li> 20 <li class="s s8">8元红包</li> 21 <li class="s s9">10元红包</li> 22 <li class="s s10">20元红包</li> 23 <li class="s s11">谢谢光临</li> 24 <li class="s s12">200元红包</li> 25 <li class="s s13">50元红包</li> 26 <li class="s s14">9999元红包</li> 27 <li class="s s15">谢谢光临</li> 28 <li class="s s16">88888元红包</li> 29 </ul> 30 <button id="start" onclick="start()">开始抽奖</button> 31 </div> 32 <script> 33 'use strict'; 34 function start() { 35 let target = new ChouJiang('choujiang', new Map([ 36 [13, 0.0001], // 设置中奖概率: [节点索引,中奖率] 37 [14, 0.25], 38 [15, 0.0001], 39 [10, 0.25], 40 [5, 0.25], 41 ])); 42 //target.winning = 4; // 设置中奖节点:用于弊器 43 target.start(); // 开始 44 } 45 </script> 46</body> 47 48</html>
点赞
收藏

评论区

加载中...

相关推荐

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

Android So动态加载 优雅实现与原理分析

背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我

Js使用面向对象和面向过程的方法实现拖拽物体的效果

1.面向过程的拖拽实现代码:!(https://oscimg.oschina.net/oscnet/d680c759957babef2fec0902676eaa35ad9.gif)<!DOCTYPEhtml<html<head<titledragDiv</title