<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <style> #hidden_one, #hidden_two { display: none; } </style> </head> <body> <input type="number" id="numbers" /> <input type="button" onclick="Click_Submit()" value="提交" /> <input type="text" readonly id="hidden_one" value="" /> <input type="button" value="抽奖" id="hidden_two" onclick="click_through()" /> <script> var numss = 0; let hidden_one = document.getElementById("hidden_one"); let hidden_two = document.getElementById("hidden_two"); let num = document.getElementById("numbers"); alert("手速大抽奖"); // 获取输入的值并且判断 function Click_Submit() { let num = parseFloat(document.getElementById("numbers").value); if (num < 18) { alert("年龄小"); } else if (num >= 18 && num < 25) { alert("青少年"); } else if (num >= 25 && num < 35) { alert("壮年"); } else if (num >= 35 && num < 65) { alert("加油"); } else if (num >= 66) { alert("开始抽奖"); // 执行这个函数体的时候把隐藏的输入框和按钮显示出来 hidden_one.style.display = "inline"; hidden_two.style.display = "inline"; // 一次性时钟事件,过十秒后 setTimeout(lotterys, 10000); }; }; // 点击增加数字 function click_through() { numss++; hidden_one.value = numss; } // 数字判断 function lotterys() { if (numss < 20) { alert("加油") } else if (numss >= 20 && numss < 60) { alert("大奖") } else if (numss >= 60) { alert("太棒了") }; hidden_one.style.display = "none"; hidden_two.style.display = "none"; numss = 0; hidden_one.value = ""; num.value = ""; }; // 计时器练习 // 每隔一秒在控制台打印输出,循环执行 // let int = setInterval(function() { // console.log('永久性定时器'); // }, 1000) // 每隔一段时间打印在控制台,只执行一次 // setTimeout(function(){ // console.log("一次性定时器"); // },3000) // 中止永久性计时器 // let i = 0; // let inter = setInterval(function() { // i++; // if (i == 5) { // clearInterval(inter); // console.log('终止定时器'); // } else { // console.log(i); // } // }, 1000) // 中止一个一次性定时器 // let timerId = setTimeout(function() { // console.log('定时器触发'); // }, 3000); // clearTimeout(timerId); // console.log(timerId); </script> </body> </html>
上面就是我所写的代码,下面还有定时器的讲解
遇到了什么问题:开始没有使用定时器,使用的是for循环,想让他们随着循环的改变改变对应的背景颜色,可是行不通不转
怎么解决的:找老师询问使用定时器解决了
整体思路:先制作了在div内创建8个奖品,按照顺序分别利用固定定位定位到合适位置,在div内再创建一个标签作为抽奖按钮,并定位到中间,再把css样式颜色修改一下
然后在添加点击事件,然后再在里面添加一个永久定时器,随着时间的改变改变对应下标的背景颜色,改变的同时再改变已经经过的背景颜色为原来的颜色,最后在后面添加一个多长时间删除定时器结束这个函数,结束后输出弹出框并且颜色改回蓝色,并且下标p修改为,使下一次点击抽奖的时候从开始转