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>
不懂可追问。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)