js实现抽奖器功能

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        .div{
            width: 350px;
            height: 310px;
            overflow-wrap: break-word;
            word-wrap: break-word;
        }
        .option, #start{
            width: 100px;
            height: 100px;
            border: 1px solid #222222;
            display: inline-block;
        }
        #start{
            background-color: #0077aa;
        }
    </style>
</head>
<body>
<div class="div">
    <div class="option"></div>
    <div class="option"></div>
    <div class="option"></div>
    <div class="option"></div>
    <div id="start"></div>
    <div class="option"></div>
    <div class="option"></div>
    <div class="option"></div>
    <div class="option"></div>
</div>
<script>
    //逻辑:点击开始触发一个定时器
    //定时器内部 随机一个数 通过这个数来获取奖品所在的元素
    //必须设置一个时间点停止定时器
    let btn = document.getElementById('start');
    let options = document.getElementsByClassName('option');
    btn.onclick = function (){
    	//设置一个初始值 作为时间判断
    	let number = 0
    	let timer=null
        //1.触发一个定时器
        if(timer==null){
			timer = setInterval(()=>{
				number++;
				//2.随机0-7的数,通过数组下标获取具体选中的元素
				let num = Math.round(Math.random()*7)
                //3.把所有元素都恢复原来样子
				for(let i=0;i<options.length;i++){
					options[i].style.backgroundColor = ''
				}
                //给选中元素 添加样式
				options[num].style.backgroundColor = 'pink'
                //给定时器设置有效时间 停止定时器
                if(number>=10){
                	clearInterval(timer)
                    timer = null
                }
			},100)
        }
    }
</script>
</body>
</html>

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值