基于JS实现九宫格抽奖的流程和代码是什么
Admin 2022-10-31 群英技术资讯 1061 次浏览
今天这篇我们来学习和了解“基于JS实现九宫格抽奖的流程和代码是什么”,下文的讲解详细,步骤过程清晰,对大家进一步学习和理解“基于JS实现九宫格抽奖的流程和代码是什么”有一定的帮助。有这方面学习需要的朋友就继续往下看吧!话不多说,直接上效果:

主要流程为:
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中定时器有两个 setInterval() 与 setTimeout() 分别还有取消定时器的方法,下面来看看文章的详细介绍
这篇文章主要为大家介绍了Vue搭建Vuex环境,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
本篇文章给大家带来了关于javascript的相关知识,其中主要整理了编译原理的相关问题,Javascript是一种由Netscape(网景)的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,下面一起来看一下,希望对大家有帮助。
本章节讨论使用ES6编码风格到代码中需要注意的点。通过记住这些关键点,可以让我们写出更优美的、可读性更强的JavaScript ES6风格的代码。
JS函数访问外部变量的方法有哪些?其实任何在函数中定义的变量都可认为是私有变量,因为是不能在函数外部访问这些变量的,但是我们可以通用JavaScript中子函数访问外部变量,下文给大家分享了三种方法,感兴趣的朋友可以参考。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008