手機端隨機點名抽獎js代碼,js隨機點名器

本文目錄一覽:

怎麼用js做隨機點名

關鍵是隨機數的實現(偽隨機)

function myRand(start, end) {

return start + Math.round((Math.random() * (end – start)));

}

這個函數可以得到start到end之間(包括start和end)的隨機數,然後根據隨機數去點名

js隨機抽獎一二三等獎不重複的抽獎邏輯怎麼設置

!DOCTYPE html

html

head

titlejs隨機抽獎一二三等獎不重複的抽獎邏輯怎麼設置/title

meta charset=”UTF-8″ /

script

//添加一個隨機函數

Math.rand = function(min, max){

function subRand(min, max){

min = min ? min : 0;

max = max ? max : 9;

var result = 0;

do{

result = Math.random().toString().substr(2, 1);

}while(!(result = min  result = max));

return result;

}

function getBit(maxBit){

maxBit = maxBit ? maxBit : max.toString().length;

var result = [],

count = 0;

for(var i = 0; i  maxBit; i++){

result.push(subRand());

if(i != 0  result[i] == result[i – 1]){

count++;

}

}

return maxBit – count;

}

min = min ? min : 0;

max = max ? max : 0;

var result = ”,

bit = getBit();

do{

result = ”;

for(var i = 0; i  bit; i++){

result = result + subRand();

}

result = parseInt(result);

}while(!(result = min  result = max));

return result;

}

//console.log(Math.rand(0, 100));

//LuckDraw 抽獎類 參數一 獎池數組, 參數二 中獎數量 返回 中獎索引

function LuckDraw(pool, numberOfWinners){

var results = [],

//是否已經中獎

isExists = function(index){

for(var i = 0; i  results.length; i++){

if(results[i] == index){

return true;

}

}

return false;

},

subLuckDraw = function(){

do{

result = Math.rand(0, pool.length – 1);

}while(isExists(result));

return result;

}

for(var i = 0; i  numberOfWinners; i++){

results.push(subLuckDraw());

}

return results;

}

var pool = [

‘關’,

‘張’,

‘趙’,

‘馬’,

‘黃’,

‘曹老闆’

];

winners = LuckDraw(pool, 3); //返回從獎池中 中獎的索引,假設123等獎都只有一名的話各取一個即可

//假設123等獎 一等獎 1名, 二等獎 2名, 三等獎 3名, 只需要調用這個函數第二個參數設置為總和 6 即可

//然後從結果中第一個索引為一等獎 23 索引為二等獎 , 456索引為 三等獎

console.log(winners);

/script

/head

body

script

for(var i = 0; i  winners.length; i++){

document.write(pool[winners[i]] + ‘ 恭喜你中了’ + (i + 1) + ‘等獎br /’);

}

/script

/body

/html

使用JavaScript完成一個抽獎程序,當單擊頁面上開始抽獎按鈕時,在1~36中選取7個互不相同

1~36個數取7個不同的,需要用while循環+隨機數去取出7個數。

在while循環裡面,可以判斷取出來的數(用switch),是否是28,18,8. 如果有輸出相應的獎項,如果沒有,就輸出其它的。然後將這7個數,打印出來就好了。

JavaScript(縮寫為JS)是一種高級的、多範式、解釋型的編程語言,是一門基於原型、函數先行的語言,它支持面向對象編程、命令式編程以及函數式編程。

它提供語法來操控文本、數組、日期以及正則表達式,不支持I/O(比如網絡、存儲和圖形等),但可以由它的宿主環境提供支持。它已經由ECMA(歐洲計算機製造商協會)通過ECMAScript實現語言的標準化。它被世界上的絕大多數網站所使用,也被世界主流瀏覽器支持。

js實現可鍵盤控制的簡單抽獎程序

本文實例為大家分享了js抽獎程序的編寫代碼,以及編寫注意事項,感興趣的小夥伴們可以參考一下

代碼:

!DOCTYPE

html

html

lang=”en”

head

meta

charset=”UTF-8″

title簡單抽獎(可用鍵盤)/title

style

*{margin:0;padding:0;}

.box{width:

400px;height:

300px;margin:50px

auto;background:

red}

.title{color:

#fff;font-size:

30px;font-weight:700px;padding:

50px

0;text-align:

center;height:40px;}

.btm{text-align:

center;padding:20px

0;}

.btm

a{display:

inline-block;width:

120px;height:60px;line-height:

60px;background:

#FEF097;margin:0

10px;text-decoration:

none;}

/style

script

var

data=[‘Iphone’,’Ipad’,’筆記本’,’相機’,’謝謝參與’,’充值卡’,’購物券’],

timer=null,//定時器

flag=0;//阻止多次回車

window.onload=function(){

var

play=document.getElementById(‘play’),

stop=document.getElementById(‘stop’);

//

開始抽獎

play.onclick=playFun;

stop.onclick=stopFun;

//

鍵盤事件

document.onkeyup=function(event){

event

=

event

||

window.event;

//

回車鍵的code值:13

if(event.keyCode==13){

if(flag==0){

playFun();

flag=1;

}else{

stopFun();

flag=0;

}

}

}

function

playFun(){

var

title=document.getElementById(‘title’);

var

play=document.getElementById(‘play’);

clearInterval(timer);

timer=setInterval(function(){

var

random=Math.floor(Math.random()*data.length);

title.innerHTML=data[random];

},60);

play.style.background=’#999′;

}

function

stopFun(){

clearInterval(timer);

var

play=document.getElementById(‘play’);

play.style.background=’#FEF097′;

}

}

/script

/head

body

div

class=”box”

div

class=”title”

id=”title”淘家趣抽獎/div

div

class=”btm”

a

href=”javascript:;”

id=”play”開始/a

a

href=”javascript:;”

id=”stop”停止/a

/div

/div

/body

/html

注意點:

1.隨機數,取數組的其中一個;取0-n之間:Math.random()*(n+1)

2.定時器,開始抽獎時要停止前面的一次抽獎,不然會定時器重疊

3.按鍵操作,要判斷是抽獎進行中,還是未開始,所有設置了變量

flag

想要學習更多關於javascript抽獎功能,請參考此專題:javascript實現抽獎功能

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/244757.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 13:04
下一篇 2024-12-12 13:04

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變量和數…

    編程 2025-04-29
  • 手機杜比音效有必要開嗎?

    杜比音效是一個在影音領域中非常知名的品牌。許多手機都已經將杜比音效作為一個賣點來進行推廣。那麼,手機杜比音效有必要開嗎?本文將從多個方面進行闡述。 一、杜比音效的介紹 杜比音效是一…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在着手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • 如何設置chrome不同步手機歷史記錄

    使用chrome瀏覽器時,在登錄chrome賬號的情況下,由於默認同步功能,瀏覽器歷史記錄等數據都會同步到其他設備上,但是有時候我們並不想這麼做,比如為了保護隱私、避免干擾等等。所…

    編程 2025-04-29

發表回復

登錄後才能評論