怎么用js做随机点名

怎么用js做随机点名,第1张

关键是随机液雀颂数岁握的实现(伪随机)

function myRand(start, end) {

return start + Math.round((Math.random() * (end - start)))

}

这个函数可以得到start到end之间(包括start和end)的随机数,然后根据随机数去点闹郑名

<!doctype>

<style>

table{

margin-top:100px

text-align:center

}

td{

border:3px solid #ccccff

}

.desk{

width:60px

height:30px

}

.on{

border: 3px solid rgb(51, 204, 204)

background-color: rgb(173, 216, 230)

}

.selected{

border: 3px solid red

}

</style>

<div id='main'>+</div>

<a href='javascript:start()'>开始</a>

<a href='javascript:stop()'>停止</a>

<p id="selectedStudent">已选中学生:</p>

<script src="jquery.js"></script>

<script type="text/javascript">

//为array复写两个方法

Array.prototype.indexOf = function (val) {  

    for (var i = 0 i < this.length i++) {  

        if (this[i] == val) {  

            return i  

        }  

    }  

    return -1  

}  

Array.prototype.removevalue = function (val) {  

    var index = this.indexOf(val)  

    if (index > -1) {  

        this.splice(index, 1)  

    }  笑缓谨

}

var data=''             //表格

var num=5                                //每行显示数

var arr=[1,2,3,4,5,6,7,8,9,10,11,12]   //数组 //已选中数组

var line=Math.ceil(arr.length/num)       //行数

var nowSelected = 0     //nowSelected不是学生编号,是学生在数组里的位置,arr[nowSelected]为学生编号

data+="<table align='center' id='all' >"

for(i=0i<arr.length/numi++)

{

data+='<tr>'

for(j=i*numj<i*num+numj++)

 {

 if(j<arr.length){

 data+="<td class='desk' id='"+arr[j]+"'>"+arr[j]+"</td>"

     }

 }

data+='</tr>'

}

data+='</table>'

document.getElementById('main').innerHTML=data

var interval = -1

var index

function start(){

if(interval == -1){

interval=setInterval(go,500)

}

}

function go(){

var remainNum = arr.length

nowSelected 哪颤= GetRandomNum(0,remainNum-1)

$("#all").find("td").removeClass("on")

$("#"+arr[nowSelected]).addClass("on")

}

function stop(){

clearInterval(interval)

interval = -1

$("#"+arr[nowSelected]).removeClass("on").addClass("selected")

if(arr[nowSelected] != undefined){

$("#selectedStudent").append(arr[nowSelected]+",")

}

arr.splice(nowSelected, 1)

 }

 

 function GetRandomNum(Min,Max)

{   

var Range = Max - Min   

var Rand = Math.random()   

return(Min + Math.round(Rand * Range))   

}   碰基

</script>

已好,为了方便用了jquery,你需要下载个放到同目录下,这个相信你应该会,这个应该可以满足你的需求,写的挺简单的,纯手工,望采纳

<script language="javascript">

var num=13//假设有13个同学

var name=new array( )

var aaa=new array( )//定义两个数组坦兆

for(var i=0i<numi++){

name[i]=“姓名"+i

}//把同学名字孙信乱放进name数组

for(var i = 0i<numi++)

{

var j = Math.floor((num-i)*Math.random())//获取小于13的随机数

aaa.push(name[j])//往aaa数组添加name数组的数据

name.splice(j,1)//把name数组里的数据删掉

}

document.write(aaa.join("<br>"))数组里每个元素增加则档一个换行。

</script>

不懂可追问。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8229440.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存