用Javascript实现随机抽奖
思路:首先我们先把一组元素保存到数组arr中,再利用随机生成的整数和数组下标关联起来,这里的重点就是怎样获取随机的整数,下面跟着我一起来看看。
- HTML部分
<button id="btn">随机抽中一位幸运儿</button>
<span id="cont"></span>
- JS部分
1.准备一个数组,存放姓名
var arr = ['邢涛', '温源', '王梁', '彭康', '杨杨', '马妍', '梁龙居', '黄天成', '李辉', '申志鹏']
2.随机获取0~9的一个整数,作为下标找元素(关键部分)
var n = Math.floor (Math.random() * arr.length )
注:我们来拆解一下这行代码,首先我们用到Math对象,random()这个对象的意思是随机生成0~1之间的小数,通过arr.length来获取数组长度,则Math.random() 与 arr.length 相乘就可以得到0.x~9.x的数字,我们再通过floor()这个对象向下取整。向上取整为ceil()
3.再通过.onclick绑定点击事件,以及cont.innerHTML = arr[n], 获取随机元素,绑定。最后显示到网页中去。
实现效果(控制台及页面):
代码:
<body>
<button id="btn">随机抽中一位幸运儿</button>
<span id="cont"></span>
<script>
// 准备一个数组,存放姓名
var arr = ['邢涛', '温源', '王梁', '彭康', '杨杨', '马妍', '梁龙居', '黄天成', '李辉', '申志鹏']
// 随机获取0~9的一个整数,作为下标找元素
btn.onclick = function () {
// 0~1 * 10(数组长度) --> 0.x ~ 9.x 向下取整 0~9
var n = Math.floor(Math.random() * arr.length)
console.log(n);
// 获取随机元素,绑定
cont.innerHTML = arr[n]
}
</script>
</body>