JS实现简单的九宫格抽奖


Posted in Javascript onJune 28, 2022

本文实例为大家分享了JS实现简单九宫格抽奖的具体代码,供大家参考,具体内容如下

结构

<body>

    <div id="fa">
        <div class="option">1</div>
        <div class="option">5</div>
        <div class="option">3</div>
        <div class="option">4</div>
        <div id="start">开始抽奖</div>
        <div class="option">5</div>
        <div class="option">6</div>
        <div class="option">7</div>
        <div class="option">8</div>
    </div>
</body>

样式

<style>
        #fa {
            width: 600px;
            height: 600px;
            border: 1px solid red;

        }

        #fa>div {
            width: 33%;
            height: 33%;
            border: 1px solid red;
            float: left;
            line-height: 200px;
            text-align: center;//文本居中
            font-size: 40px;
            font-weight: 800;//加粗字体

        }

        #start {
            cursor: pointer;//使鼠标移入时出现小手图标
            background-color: pink;
        }
</style>

JS实现抽奖

逻辑分析:

1.点击中间的开始抽奖时触发一个定时器
2.触发定时器后,随机生成一个数字,通过这个数字来获取当前所在元素
3.设置一个时间来结束定时器,结束抽奖

<script>
         let btn = document.getElementById('start');//获取到开始抽奖按钮
        let options = document.getElementsByClassName('option');//获取到8个奖区
        let timer =null;//防止定时器多次触发,初始值设为null

        //为btn绑定一个单击事件
        btn.onclick = function () {
            //设置一个初始值 作为时间判断
            let num = 0;
            
            if (timer == null) {
                //触发一个定时器
               timer = setInterval(function () {

                    num++;

                     //随机产生一个0 - 7 的数字 通过该数字作为数组的下标来获取到div
                    let ran = Math.round(Math.random() * (7 - 0) + 0);
                    //round是因为Math.random() * (7 - 0) + 0)取出的随机数是含小数的一串数字,所以需要取整
                    
                    //改变选中的元素背景颜色之前,将所有元素的背景颜色恢复
                    for (let i = 0; i < options.length; i++) {
                        options[i].style.backgroundColor = '';
                    }

                    //给选中的元素设置一个背景颜色
                    options[ran].style.backgroundColor = 'tomato';

                    //给定时器一个时间,到时间停止定时器
                    if(num == 5){
                        clearInterval(timer)
                    }

                }, 1000)
            }

        }
</script>

效果

JS实现简单的九宫格抽奖

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


Tags in this post...

Javascript 相关文章推荐
JavaScript游戏之优化篇
Nov 08 Javascript
Javascript查询DBpedia小应用实例学习
Mar 07 Javascript
JS在textarea光标处插入文本的小例子
Mar 22 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
Nov 29 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
Sep 05 Javascript
简单的js计算器实现
Oct 26 Javascript
JS实现的简单轮播图运动效果示例
Dec 22 Javascript
原生JS改变透明度实现轮播效果
Mar 24 Javascript
ReactNative中使用Redux架构总结
Dec 15 Javascript
vue框架搭建之axios使用教程
Jul 11 Javascript
150行Node.js实现的dns代理工具
Aug 02 Javascript
vue 验证两次输入的密码是否一致的方法示例
Sep 29 Javascript
JS实现九宫格拼图游戏
JavaScript实现九宫格拖拽效果
JS实现简单九宫格抽奖
Jun 28 #Javascript
Vite + React从零开始搭建一个开源组件库
Jun 25 #Javascript
React自定义hook的方法
Jun 25 #Javascript
小程序实现侧滑删除功能
Jun 25 #Javascript
小程序自定义轮播图圆点组件
Jun 25 #Javascript
You might like
通过对php一些服务器端特性的配置加强php的安全
2006/10/09 PHP
php图片加中文水印实现代码分享
2012/10/31 PHP
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
2014/02/18 PHP
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
2014/06/12 PHP
PHP中include()与require()的区别说明
2017/02/14 PHP
javascript 多种搜索引擎集成的页面实现代码
2010/01/02 Javascript
javascript中onclick(this)用法介绍
2013/04/19 Javascript
js open() 与showModalDialog()方法使用介绍
2013/09/10 Javascript
引用外部脚本时script标签关闭的写法
2014/01/20 Javascript
JQuery下拉框应用示例介绍
2014/04/23 Javascript
jQuery实现输入框下拉列表树插件特效代码分享
2015/08/27 Javascript
纯JavaScript代码实现移动设备绘图解锁
2015/10/16 Javascript
快速解决jquery.touchSwipe左右滑动和垂直滚动条冲突
2016/04/15 Javascript
深入浅析JavaScript中的constructor
2016/04/19 Javascript
JavaScript判断是否是微信浏览器
2016/06/13 Javascript
Javascript 实现简单计算器实例代码
2016/10/23 Javascript
实例详解vue.js浅度监听和深度监听及watch用法
2018/08/16 Javascript
Node.js如何优雅的封装一个实用函数的npm包的方法
2019/04/29 Javascript
python字典get()方法用法分析
2015/04/17 Python
Python中的pass语句使用方法讲解
2015/05/14 Python
python发送邮件实例分享
2017/07/28 Python
Python使用sorted排序的方法小结
2017/07/28 Python
python基础教程项目四之新闻聚合
2018/04/02 Python
Python Selenium Cookie 绕过验证码实现登录示例代码
2018/04/10 Python
tensorflow实现加载mnist数据集
2018/09/08 Python
对Python中的条件判断、循环以及循环的终止方法详解
2019/02/08 Python
python字典一键多值实例代码分享
2019/06/14 Python
python网络爬虫实现发送短信验证码的方法
2021/02/25 Python
HTML5 图片预加载的示例代码
2020/03/25 HTML / CSS
HEMA法国:荷兰原创设计
2019/02/21 全球购物
北京振戎融通Java面试题
2015/09/03 面试题
2014年学校教学工作总结
2014/12/06 职场文书
工程部经理岗位职责
2015/02/02 职场文书
搞笑婚礼主持词开场白
2015/11/24 职场文书
Python中使用tkFileDialog实现文件选择、保存和路径选择
2022/05/20 Python