九宫格抽

简介: 九宫格抽

这一篇博客老有意思了!,喜欢玩游戏的有福了!

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>九宫格抽奖</title>
    <style>
      .jpd{
        width: 345px;
        height: 340px;
        border: 1px solid crimson;
        position: relative;
        margin-left: 20%;
        margin-top: 5%;
        
      }
      .jp{
        width: 100px;
        height: 100px;
        background-color: palegreen;
        text-align: center;
        line-height: 100px;
        font-size: 10px;
      }
      #jpone{
        position: absolute;
        left: 10px;
        top: 5px;
      }
      #jptwo{
        position: absolute;
        left: 120px;
        top: 5px;
      }
      #jpthree{
        position: absolute;
        left: 230px;
        top: 5px;
      }
      #jpfo{
        position: absolute;
        left: 230px;
        top: 115px;
      }
      #jpfive{
        position: absolute;
        left: 230px;
        top: 225px;
      }
      #jpsix{
        position: absolute;
        left: 120px;
        top: 225px;
      }
      #jpseven{
        position: absolute;
        left: 10px;
        top: 225px;
      }
      #jpeight{
        position: absolute;
        left: 10px;
        top: 115px;
      }
      #but{
        width: 100px;
        height: 100px;
        background-color: rebeccapurple;
        position: absolute;
        top: 115px;
        left: 120px;
      }
    </style>
  </head>
  <body>
    <div class="jpd">
      <div class="jp" id="jpone">空气</div>
      <div class="jp" id="jptwo">野生奥特曼</div>
      <div class="jp" id="jpthree">苹果15Promax</div>
      <div class="jp" id="jpfo">华为Mate 60Pro</div>
      <div class="jp" id="jpfive">大G一辆</div>
      <div class="jp" id="jpsix">贵洲茅台一瓶</div>
      <div class="jp" id="jpseven">王者全皮肤全英雄账号</div>
      <div class="jp" id="jpeight">梅西亲签球衣</div>
      <button id="but" onclick="fn()">抽奖</button>
    </div>
    <script src="九宫格抽奖.js"></script>
  </body>
</html>

这是九宫格的基本样式;

//通过元素class jpd命名来查找hyml里的元素
let jpd = document.getElementsByClassName('jpd')
//通过元素class  jp命名来查找hyml里的元素
let jp = document.getElementsByClassName('jp');
console.log(jp)
//通过元素id but命名来查找hyml里的元素
let but = document.getElementById('but');
let newb = 0;
//时间为500
let time = 500;
let newm = 0;
//从0开始记数
let count = 0;
let int;
let end = 0
//给每个jp都加上一个背景色
function fn() {
  jp[end].style.backgroundColor = "palegreen";
  //rang1变色
  jp[newb].style.backgroundColor = "pink";
  //定时器
  int = setInterval(zh, time)//代表时间
  //确定中奖号
  newm = Math.floor(Math.random() * jp.length);
  console.log(newm)
  but.onclick = null;
}
 
function zh() {
  if (newb < jp.length - 1) {//判断到最后了吗
    newb++;
    jp[newb - 1].style.backgroundColor = "palegreen";
    jp[newb].style.backgroundColor = "pink";
  } else {
    newb = 0;
    count++;
    jp[jp.length - 1].style.backgroundColor = "palegreen";
    jp[newb].style.backgroundColor = "pink";
  }
  if (count <= 5) {
    if (time <= 100) {
      time = 100;
    } else {           //圈数小于五圈时开始加速
      time -= 20;
    }
  } else {
    if (time >= 500) {
      time = 500; 
    } else {           //圈数大于五圈时开始减速
      time += 20;
    }
  }
  if (count > 7 && newm == newb) {
    clearInterval(int);
    count = 0;
    rom = 0;
    time = 500;
    end = newb
    newb = 0
    but.onclick = fn;
    let text = jp[end].innerHTML;
    setTimeout(function() {
      alert("恭喜您获得:" + text);
      jp[newm].style.backgroundColor = "palegreen";
    }, 300)
  } else {
    clearInterval(int);
    int = setInterval(zh, time)
  }
}

这是js里的是用来草空数据的!

大家可以把自己喜欢的东西弄成奖品,快动手吧铁子!

这里面用到了定时器!

等我下篇给大家讲讲!

相关文章
|
3天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
271 116
|
18天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
12天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
663 219
|
5天前
|
数据采集 人工智能 自然语言处理
Meta SAM3开源:让图像分割,听懂你的话
Meta发布并开源SAM 3,首个支持文本或视觉提示的统一图像视频分割模型,可精准分割“红色条纹伞”等开放词汇概念,覆盖400万独特概念,性能达人类水平75%–80%,推动视觉分割新突破。
360 34
Meta SAM3开源:让图像分割,听懂你的话
|
10天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1592 157
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
897 61
|
7天前
|
编解码 Linux 数据安全/隐私保护
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
296 140