在JavaScript中,有这样一个函数,Math.random(),它可以随机生成一个0-1之间的函数,如下图所示:
那么,我们要如何来用它呢,下面我写了两个简单的例子,都是搭配数组来实现的,一个是
类似验证码的,一个是给一个div点击事件后随机变化颜色
这是两个div
<div id="ran" onClick="rand();"></div>
<div id="back" onClick="color();"></div>
基础css样式
ran{
width: 80px;
height: 36px;
line-height: 36px;
background: #ddd;
text-align: center;
cursor: pointer;
margin: 150px auto;
}
#back{
width: 100px;
height: 100px;
margin: -100px auto;
}
下面就是重点,随机函数的灵活调用,首先,我们来看一下验证码的随机生成
//验证码
rand();
function rand(){
one = [0,1,2,3,4,5,6,7,8,9];
two = [0,1,2,3,4,5,6,7,8,9];
three = [0,1,2,3,4,5,6,7,8,9];
four = [0,1,2,3,4,5,6,7,8,9];
var i = String(one[Math.floor(Math.random()*one.length)]);
var n = String(two[Math.floor(Math.random()*two.length)]);
var m = String(three[Math.floor(Math.random()*three.length)]);
var k = String(four[Math.floor(Math.random()*four.length)]);
var ran = document.getElementById("ran");
ran.innerHTML = i+n+m+k;
}
在这里我首先定义了4个数组,下面是4个随机,内容相同,名字不同而已,那么只要明白一个便可
定义一个i,它的核心是Math.random(),随机生成0-1的数字
然后乘以数组的长度,这里是10
外面的Math.floor是把小数转换成整数
这样调用数组one[里面就是转换好的整数,随机在数组里选择一个]
最外层的String是把数字类型转换成字符串,这样方便下面赋值时拼接,如果是数字,就会把它们相加,不是想要的效果
最后获取到这个div,然后给其赋值
接下来就是颜色的变化,基本相同
//颜色的变化
color();
function color(){
one = ["#000000","#FFCE00","#FF0004","#3AFF00","#00FFFB","#2100FC","#C800FF","#FF97D7","#97CAFF","#FF8600"];
var i = one[Math.floor(Math.random()*one.length)];
var back = document.getElementById("back");
back.style.background = i;
}
先定义数组,给它想要变化的颜色
然后用数组的长度来乘以随机小数
再转换成整数,直接在one这个数组里面随机选择一个颜色
然后赋值给back
这就是两个随机函数灵活调用
记得一个function要调用,因为开始我没有给div值,点击事件我直接放div里面