基于JS实现九宫格抽奖的流程和代码是什么
Admin 2022-10-31 群英技术资讯 314 次浏览
话不多说,直接上效果:
主要流程为:
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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了Vue3之 页面,菜单,路由的使用,文章围绕Vue3页面,菜单,路由相关资料展开详细内容,需要的朋友可以参考一下
这篇文章主要介绍了Vue 前端路由工作原理hash与history的区别,文章围绕主题展开vue-router的工作原理的简单介绍,感兴趣的朋友可以学习一下
这篇文章主要给大家分享react中不可变值,对大家学习什么是不可变值和理解为何要用不可变值有一定的帮助,感兴趣的朋友可以参考一下,希望大家阅读完这篇文章能有所收获,下面我们一起来学习一下吧。
用JavaScript怎样做查询快递单号的功能?一些朋友可能每天都会收到或者寄出很多快递,因此查询快递单号的功能是很重要的,本文给分享模拟京东快递单号查询的功能,实现效果及代码如下,感兴趣的朋友可以参考。
这篇文章主要为大家详细介绍了vue实现简单的购物车小案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008