当前位置:编程学习 > JS >>

Javascript 随机数

如何将12个<div>随机地放入12张图片(12张图片是两两重复的,也就是说总共只有6种图片),6个<img>分别是:dragon.png, horse.png, ox.png, pig.png, snake.png, tiger.png。 急求,跪等
答案:var src = ["dragon.png", "horse.png", "ox.png", "pig.png", "snake.png", "tiger.png"];
var isUsed = [0,0,0,0,0,0];
var randomRange = 6;
var div = document.getElementById("XXX");//这个是你的div
for(var i=0;i<12;i++){
    do{
        var randIndex = Math.floor(Math.random()*randomRange);
        if(isUsed[randIndex] === 2){
            src.splice(randIndex,1);
            isUsed.splice(randIndex,1);
            randomRange--;
        }
        else{
            isUsed[randIndex]++;
            var image = new Image();
            image.src=src[randIndex];
            div.appendChild(image);
            break;
        }
    }while(true);
}
其他:把图片地址放在二维数组里,下标一放地址,二放是否被随机过。循环产生随机数i,将下标为i的图片显示到div,如果此图片已显示过一次,将最后一组图片替掉该组,随机数范围减一。 var arr=['dragon.png', 'horse.png', 'ox.png', 'pig.png', 'snake.png', 'tiger.png','dragon.png', 'horse.png', 'ox.png', 'pig.png', 'snake.png', 'tiger.png']
var ran = parseInt(Math.random() * arr.length);
div1.innerHTML="<img src='"+arr[ran]+"' />";//div1为对应div对象  用document获取
arr.splice(ran, 1);//移除arr中已经用过的图片路径

只做了些提示,以上代码自己通过循环使用 

上一个:javascript入门经典第一章中有很多代码我用frontpage编辑时会出现脚本错误,不知道是编辑问题,还是程序问
下一个:javascript为什么我写的函数没有隔一秒执行一次...效果是时间显示但不会隔一秒变化

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,