基于JS实现九宫格抽奖的流程和代码是什么
Admin 2022-10-31 群英技术资讯 549 次浏览
话不多说,直接上效果:
主要流程为:
1. 根据效果图,构建静态页面
2. 获取元素(自带的属性)
3. 绑定事件
4. 事件触发之后
4.1 所有的li元素 在指定的时间间隔下 颜色随机变化
4.2 延时器 2秒后 清除定时器
4.3 在清除定时器之后,所有的li背景色复位,随机选一个
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>抽奖</title> <style> * { margin: 0; padding: 0; list-style: none; } #box { width: 240px; margin: 30px auto; border: 1px solid #ccc; } ul li { width: 60px; height: 60px; line-height: 30px; text-align: center; margin: 10px; float: left; background-color: orange; color: white; } /* 清浮动 */ ul:after { content: ""; display: block; clear: both; } p { margin: 20px auto; text-align: center; } .btn { width: 100px; height: 40px; line-height: 40px; text-align: center; border: none; background-color: skyblue; } </style> </head> <body> <div id="box"> <ul> <li>礼品1</li> <li>礼品2</li> <li>礼品3</li> <li>礼品4</li> <li>礼品5</li> <li>礼品6</li> <li>礼品7</li> <li>礼品8</li> <li>礼品9</li> </ul> <p><button onclick="alert(123)" title="按钮">开始抽奖</button></p> </div> </body> <script> var btn = document.getElementsByTagName("button")[0]; btn.className = "btn"; // 通过标签名 获取元素 var lis = document.getElementsByTagName("li"); // 为元素绑定单击事件 btn.onclick = function () { // 禁用按钮 btn.disabled = true; var timer = setInterval(function () { for (var i = 0; i < lis.length; i++) { lis[i].style.backgroundColor = getColor(); } }, 100); // 使用延时器 清除定时器 setTimeout(function (){ clearInterval(timer) for (var i = 0; i < lis.length; i++) { lis[i].style.backgroundColor = "orange" } var index = Math.floor( Math.random() * lis.length ) lis[index].style.backgroundColor = "red"; // 启用按钮 btn.disabled = false; }, 2000) } // 随机颜色的函数 function getColor() { return "#" + Math.random().toString(16).substr(2, 6); } </script> </html>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于JavaScript的push()、pop()、unshift()、shift() 方法的使用,下面一起来看一下,希望对大家有帮助。
在我们的分类管理中,我们要能够去修改我们的分类信息,当我们一点修改的时候,跳转到一个可以编辑的页面,这里面能够修改分类的名,这里我们来了解JS控制下拉列表左右选择实例代码
这篇文章主要介绍了node.js 全局变量的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要介绍了基于vue的video播放器的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
v-for 指令需要使用 item in items 形式的特殊语法,其中 items 是源数据数组,而 item 则是被迭代的数组元素的别名。今天通过本文给大家介绍Vue中v-for更新检测的操作方法,感兴趣的朋友一起看看吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008