热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

原生js实现抽奖小游戏

这篇文章主要为大家详细介绍了原生js实现抽奖小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

这个小游戏可以设置为抽奖小游戏,也可以设置为随机点名器,这个软件实现可以多次获取同一个元素的

1、HTML结构代码如下:

    幸运的的你

    2、css样式设置页面代码如下:

    css代码不仅仅是修饰页面的美观度,还可以设置动画,使得更生动

    .wrapper {
      width: 99%;margin: 8px auto;
      border: 1px solid #ddd;text-align: center;
     }
     .box li {
      vertical-align: top;
      display: inline-block;
      width: 100px;height: 50px;
      border: 2px solid #ddd;
      border-radius: 15px;text-align: center;
      line-height: 50px; margin: 5px;
     }
     .box li.change {
      background-color: red;
      color: #fff;font-weight: bolder;
     }
     .wrapper button {
      display: inline-block;
     }
     .wrapper button {
      border: none;width: 100px;
      height: 50px;border-radius: 10px;
      cursor: pointer;outline: none;
      margin-top: 20px;font-weight: bolder;
      color: #333;background-color: #eee;
     }
     .wrapper .choose {
      position: relative;
      width: 200px;height: 180px;
      border-radius:10px;margin:12px auto;
      border: 1px solid #000;
     }
     .wrapper .choose img {
      position: absolute;bottom: 0;left: 0;
     }
     .niu{
      font-size:24px; margin:0px 0px;
     }
     .name{
      position:absolute;
      font-size:29px;top:43px;left:71px;
     }

    3、原生js取出元素

    var boxUl = document.getElementsByClassName('box')[0];
    var start = document.getElementsByClassName('start')[0];//获取点击开始按钮元素
    var stop = document.getElementsByClassName('stop')[0]//获取点击停止按钮元素
    var oLi = document.getElementsByTagName('li');//获取js插入的li标签元素
    // 将插入名字存入数组
    var arr = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20"]
    // html进行 字符串拼接
    var str = '';
    // 通过for循环进行拼接
    for (var i = 0; i ";
    }
    // 将拼接后的html字符串插入到dom结构中
    boxUl.innerHTML = str;
    // 声明timer
    var timer = null;

    4、开始按钮的原生js代码如下:

    // 点击开始进行选择
    start.Onclick= function () {
     // 每次运行前清除timer
     clearInterval(timer);
     // 设置定时器
     timer = setInterval(function () {
      // 根据数组长度范围生成随机数
      var i = Math.floor(Math.random() * arr.length);
      // 先通过for循环清空所有class名
      for (var j = 0; j 
    

    5、停止按钮原生js代码如下:

    // 点击停止
    stop.Onclick= function () {
     // 清空定时器
     clearInterval(timer);
     // 找到选中的元素
     var choise = document.getElementsByClassName('change')[0];
     // 找到选中元素的内容
     var name = choise.innerText;
     // 同时为选中位置添加内容
     var nameSpan = document.getElementsByClassName('name')[0];
     nameSpan.innerText = name+"号";
    }

    6、效果图

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


    推荐阅读
    • 安全3AAuthentication:认证Authorzation:授权Accouting|Audition:审计用户管理用户:UID:0,不一定是root,root的uid非0时 ... [详细]
    • ASP.NET Core WebAPI 开发新建WebAPI项目  转
      转 http:www.cnblogs.comlinezerop5497472.htmlASP.NETCoreWebAPI开发-新建WebAPI项目ASP.NETCoreWebAPI ... [详细]
    • 步骤一:明确主打的核心目标用户群(对应产品侧的定位)这个核心目标用户群体是该产品成功挤进市场的切入点,甚至是撬动市场的支点和撬杠。市面上几乎很少有产品是专门给一个群体用而对其他群体 ... [详细]
    • npmimportuse这里我记录一下,视频地址和封面地址均引用的是服务器端得,本地的视频和图片 ... [详细]
    • UDP协议开发
      UDP是用户数据报协议(UserDatagramProtocol,UDP)的简称,其主要作用是将网络数据流量压缩成数据报形式,提供面向事务的简单信息传送服务。与TCP协议不同,UD ... [详细]
    • 1.数据准备#测试数组vectorc(5,34,65,36,67,3,6,43,69,59,25,785,10,11,14)vector##[1]53465366736436959 ... [详细]
    • 这篇文章主要简要记录了对于研发团队工作的质量 ... [详细]
    • AsyncDisplayKit2.0教程(下)
      AsyncDisplayKit2.0Tutorial:AutomaticLayout原文:AsyncDisplayKit2.0Tutorial:Automatic ... [详细]
    • webpack 配置IP 和端口号
      最近在用webpack搭建本地服务器的时候,因为不想总是用localhost来跑,所以对webpack.config.js进行了配置,如下devServer:{publicPath ... [详细]
    • Adapter相当于C(Controller,控制器),listView相当于V(View,视图)用于显示数据为ListView提供数据的List,数组或数据库相当于MVC模式中的 ... [详细]
    • #includestdafx.h#includeiostream#includesstream#includemap#includestring ... [详细]
    • 第38天:Python decimal 模块
      by程序员野客在我们开发工作中浮点类型的使用还是比较普遍的,对于一些涉及资金金额的计算更是不能有丝毫误差,Python的decimal模块为浮点型精确计算提供了支持。1简介deci ... [详细]
    • win10如何将现有的桌面壁纸找出来
      直接在地址栏输入“C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Themes”,将用户名替换为本机当前用户名,然后按下回车键即可。P ... [详细]
    • 利用ipv6技术,废旧笔记本变成server
      如果你家的路由器已经get到了ipv6地址,并且你家的电脑也获取了有效的ipv6地址,在广域网的设备可以访问到。那恭喜你,再配合我这个dd ... [详细]
    • selenium 定位方式3css_selector
      关于页面元素定位,可以根据id、class、name属性以及link_text。其中id属性是最理想的定位方式,class与name属性, ... [详细]
    author-avatar
    烦恼的余生_538
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有