九宫格抽奖(原生js)

简介: 九宫格抽奖(原生js)
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title></title>
    <style>
      * {
        margin: 0;
        padding: 0;
      }
      .box {
        width: 340px;
        height: 340px;
        border: 1px pink solid;
        position: relative;
        margin: 100px;
      }
      .box div {
        width: 100px;
        height: 100px;
        background-color: aqua;
        text-align: center;
        line-height: 100px;
      }
      .div1 {
        position: absolute;
        top: 10px;
        left: 10px;
      }
      .div2 {
        position: absolute;
        top: 10px;
        left: 120px;
      }
      .div3 {
        position: absolute;
        top: 10px;
        left: 230px;
      }
      .div4 {
        position: absolute;
        top: 120px;
        left: 230px;
      }
      .div5 {
        position: absolute;
        top: 230px;
        left: 230px;
      }
      .div6 {
        position: absolute;
        top: 230px;
        left: 120px;
      }
      .div7 {
        position: absolute;
        top: 230px;
        left: 10px;
      }
      .div8 {
        position: absolute;
        top: 120px;
        left: 10px;
      }
      .button {
        width: 100px;
        height: 100px;
        background-color: pink;
        text-align: center;
        line-height: 100px;
        position: absolute;
        top: 120px;
        left: 120px;
      }
    </style>
  </head>
  <body>
    <div class="box">
      <div class="div1">口红</div>
      <div class="div2">包包</div>
      <div class="div3">裙子</div>
      <div class="div4">美甲</div>
      <div class="div5">草莓</div>
      <div class="div6">奶茶</div>
      <div class="div7">苹果手机</div>
      <div class="div8">谢谢参与</div>
      <strong class="button">点击抽奖</strong>
    </div>
    <script>
      // 提出点击抽奖
      let button = document.getElementsByClassName('button')[0];
      // 下标[0]
      let k = 0;
      // 提出大div
      let box = document.getElementsByClassName('box')[0];
      // 提出大div中的所有div
      let prize = box.getElementsByTagName("div");
      // 定时器时间
      let time = 200;
      // 调用定时器
      let int;
      let num = 0;
      let count = 0;
      let rom = 0;
      // 点击抽奖执行函数
      button.onclick = function() {
        prize[k].style.backgroundColor = "red";
        rom = Math.floor(Math.random() * prize.length);
        int = setInterval(scrolls, time);
      }
      function scrolls() {
        if (k < prize.length - 1) {
          k++;
          prize[k - 1].style.backgroundColor = "aqua";
          prize[k].style.backgroundColor = "red";
        } else {
          k = 0;
          prize[prize.length - 1].style.backgroundColor = "aqua";
          prize[k].style.backgroundColor = "red";
        }
        if (count < 5) {
          if (time <= 100) {
            time = 100;
          } else {
            time -= 20;
          }
        } else {
          if (time >= 500) {
            time = 500;
          } else {
            time += 20;
          }
        }
        if (num == 7) {
          num = 0;
          count++;
        } else {
          num++;
        }
        if (count > 8 && rom == num) {
          clearInterval(int);
        } else {
          clearInterval(int);
          int = setInterval(scrolls, time);
        }
        console.log("随机数", rom);
        console.log("圈数", count);
      }
    </script>
  </body>
</html>


相关文章
|
10天前
|
JavaScript
原生js炫酷随机抽奖中奖效果代码
原生js随机抽奖是一个炫酷的根据数据随机抽奖的代码,该网页可进行随机抽取一个数据,页面动画高科技、炫酷感觉的随机抽奖效果,简单好用,欢迎下载!
24 3
原生js炫酷随机抽奖中奖效果代码
|
8天前
|
移动开发 前端开发 JavaScript
前端实训,刚入门,我用原生技术(H5、C3、JS、JQ)手写【网易游戏】页面特效
于辰在大学期间带领团队参考网易游戏官网的部分游戏页面,开发了一系列前端实训作品。项目包括首页、2021校园招聘页面和明日之后游戏页面,涉及多种特效实现,如动态图片切换和人物聚合效果。作品源码已上传至CSDN,视频效果可在CSDN预览。
13 0
前端实训,刚入门,我用原生技术(H5、C3、JS、JQ)手写【网易游戏】页面特效
|
1月前
|
JavaScript
js学习--九宫格抽奖
js学习--九宫格抽奖
16 2
|
1月前
|
JavaScript
js学习--抽奖
js学习--抽奖
14 1
|
2月前
|
移动开发 前端开发 JavaScript
原生JavaScript+canvas实现五子棋游戏_值得一看
本文介绍了如何使用原生JavaScript和HTML5的Canvas API实现五子棋游戏,包括棋盘的绘制、棋子的生成和落子、以及判断胜负的逻辑,提供了详细的代码和注释。
34 0
原生JavaScript+canvas实现五子棋游戏_值得一看
|
3月前
|
Devops 持续交付 测试技术
JSF遇上DevOps:开发流程将迎巨变?一篇文章带你领略高效协同的魅力!
【8月更文挑战第31天】本文探讨了如何在JavaServer Faces(JSF)开发中融入DevOps文化,通过持续集成与部署、自动化测试、监控与日志记录及反馈机制,提升软件交付速度与质量。文中详细介绍了使用Jenkins进行自动化部署、JUnit与Selenium进行自动化测试、ELK Stack进行日志监控的具体方法,并强调了持续改进的重要性。
38 0
|
3月前
|
JavaScript 前端开发 API
从零开始学表单操作,jQuery 与原生 JavaScript 完全指南,带你轻松掌握网页交互关键!
【8月更文挑战第31天】在网页开发中,表单是实现用户互动的关键元素。无论是收集信息、提交数据还是验证输入,都需要对表单进行有效操作。本文档介绍了如何使用原生 JavaScript 和 jQuery 操作表单,包括获取表单元素、读写表单值、处理表单提交及验证等核心功能。jQuery 提供了更简洁的语法和更好的兼容性,但原生 JavaScript 在性能上有优势。选择合适的方法取决于项目需求和个人偏好。下面通过具体示例展示了两种方式的操作方法。
33 0
|
3月前
|
JavaScript 前端开发
JS九宫格抽奖制作
JS九宫格抽奖制作
33 0
|
3月前
|
JavaScript
js之九宫格抽奖
js之九宫格抽奖
33 0
|
5月前
|
JavaScript 前端开发 安全
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作