js抽奖(随机抽奖

2023-10-31

js抽奖(随机抽奖|默认抽奖结果)

效果示例图

在这里插入图片描述

代码块

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>抽奖</title>
		<style type="text/css">
			* {
				padding: 0px;
				margin: 0px;
				box-sizing: border-box;
			}

			.luckydraw {
				border: 1px solid red;
				width: 400px;
				height: 400px;
				position: relative;
				margin: 100px auto;
				display: flex;
				flex-wrap: wrap;
			}

			.luckydraw-item {
				border: 1px solid red;
				width: calc(100% / 3);
				height: calc(100% / 3);
				display: flex;
				justify-content: center;
				align-items: center;
				user-select: none;
				font-size: 16px;
			}

			.luckydraw-item:nth-of-type(5) {
				cursor: pointer;
				background-color: #f17070;
				color: #ffffff;
			}

			.current-style {
				background-color: #00a2ef;
				color: #ffffff;
			}
		</style>
	</head>
	<body>
		<div class="luckydraw">
			<div class="luckydraw-item">奖品1</div>
			<div class="luckydraw-item">奖品2</div>
			<div class="luckydraw-item">奖品3</div>
			<div class="luckydraw-item">奖品8</div>
			<div class="luckydraw-item" id="luckydrawBtn">抽奖</div>
			<div class="luckydraw-item">奖品4</div>
			<div class="luckydraw-item">奖品7</div>
			<div class="luckydraw-item">谢谢回顾</div>
			<div class="luckydraw-item">奖品5</div>
		</div>
	</body>
	<script type="text/javascript">
		document.querySelector("#luckydrawBtn").addEventListener("click", () => {
			const circle = getRandomNumber(1, 8); //随机获取1-8之间的数字,数字为多少,多少就中奖
			console.log("[中奖]", circle)
			luckydraw(circle); //设置为6:谢谢回顾
		})

		function luckydraw(index) {
			let time = 100;
			let initCircle = 0;
			const circle = getRandomNumber(3, 6); //旋转多少圈

			let timerHandle = null;
			let count = 0;
			timerHandle = setInterval(function() {
				const luckydraw = [0, 1, 2, 5, 8, 7, 6, 3];
				const active = document.querySelector(".current-style");
				if (active) {
					active.classList.remove("current-style")
				}
				document.querySelectorAll(".luckydraw-item")[luckydraw[count]].classList.add("current-style");
				count++;
				initCircle++;
				if (count >= 8) {
					count = 0;
				}
				if (initCircle >= circle * 8 + index) {
					clearInterval(timerHandle)
				}
			}, time)
		}

		function getRandomNumber(min, max) {
			min = Math.ceil(min);
			max = Math.floor(max);
			return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值 
		}
	</script>
</html>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

js抽奖(随机抽奖 的相关文章

  • javascript中怪异模式的元素宽度?

    我一直在浏览所有流行的 js 库 但我找不到一个具有 DOM 元素宽度函数的库 该函数实际上可以解释 Internet Explorer 中的怪异模式 问题是 当启用怪异模式时 填充和边框不会计入宽度 据我所知 当省略 doctype 或将
  • 单击上一页的按钮路由到该页面后如何刷新页面

    我有 2 个页面 一个主页和一个页面 2 当我单击主页上的按钮时 它会路由到 page2 现在 单击主页上的按钮后 当我到达第 2 页时 它应该刷新 因为我的项目中存在一些缓存问题 我在ngoninit上添加了window location
  • 如何使用 JavaScript 将当前页面设置为 about:blank?

    我遇到的情况是服务器可能在当前地址上不可用 因此我想检测到这一点并将页面重定向到 about blank 页面 我该如何使用 JavaScript 来做到这一点 window location href about blank
  • 匹配数组中的对象并合并

    UPDATE 我有一个名为的对象数组cars包含 li 标签 其中包含有关汽车的属性数据 例如价格 汽车类型等 我的目标是 如果这些汽车符合某些标准 则将它们合并到一个列表中 要求 快速性能 保持相同的汽车数组结构 Main Goal Ma
  • 用不同的颜色为 Google 热图着色

    我试图开发一个遵循 Google Map API 的热度 https developers google com maps documentation javascript examples layer heatmap https deve
  • 如何修复网站 iframe 错误?

    当我访问此网址时 警告 推荐使用一些广告拦截器 网页链接加载良好 没有错误 但是 当我尝试通过加载同一页面时iframe在我的html代码中 出现错误 我的html代码
  • 在 Javascript 中动态添加事件处理程序

    我在使用 Javascript 时遇到了一个奇怪的问题 我得到的是一个特定格式的字符串 我将尝试用它创建一个表 该表每行只有一个单元格 字符串的格式为 每个单元格 行 需要显示内容 将传递给的参数onmouseover当用户将鼠标移动到显示
  • 如何获取传单标记簇中点击事件的图块?

    这是我的代码 function onMapClick e e originalEvent defaultPrevented true var orig e originalEvent console log orig target map
  • 默认情况下嵌入带字幕的 Youtube 不起作用

    我正在尝试嵌入 Youtube 电影 并希望默认情况下打开字幕 From https developers google com youtube player parameters cc load policy https develope
  • 使用 jquery 通配符检查 cookie 名称

    我有一个生成动态 cookie 的表单 例如 webform 62 1234356 62 1234356 可以是任意数字 我需要使用一些通配符检查来检查名称以 webform 开头的 cookie 是否存在 下面不起作用 if cookie
  • 覆盖函数(例如“警报”)并调用原始函数?

    我想用调用原始版本的新版本覆盖 Javascript 内置函数 类似于用调用的版本覆盖类上的方法 super有多种语言版本 我怎样才能做到这一点 例如 window alert function str do something addit
  • nodejs mocha suite 未定义错误

    我正在尝试使用摩卡运行一些测试 但似乎无法克服这个错误 E tdd nodejs cart gt mocha cart test js node js 201 throw e process nextTick error or err Re
  • 这种 JavaScript 编码风格有什么问题? (闭包与原型)

    我们一直在讨论如何最好地处理我们的 JS 应用程序中的对象 研究 Stoyan Stefanov 的书 阅读无数关于 新 这个 原型 闭包等的 SO 帖子 事实上有很多 而且它们有这么多相互竞争的理论 表明没有完全明显的答案 让我们假设我们
  • Angular 2 runOutsideAngular 仍然改变 UI

    从我的理解来看runOutsideAngular https angular io docs ts latest api core index NgZone class html runOutsideAngular anchor 如果我需要
  • 如果多个键是相同的 JS,则对对象中的值求和

    例如我有 5 个对象 row aa col 1 value 1 row bb col 2 value 1 row bb col 3 value 1 row aa col 1 value 1 row aa col 2 value 1 我想对值
  • Javascript 中的线性回归 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在网络浏览器中用 Javascript 进行最小二乘拟合 目前 用户使用 HTML 文本输入输入数
  • 监听浏览器宽度以进行响应式网页设计?

    我正在努力使我的网站适合移动设备 我想知道浏览器窗口的大小 以便当它比 728px 窄时我可以执行某些操作 而当它大于 728px 时我可以执行其他操作 这必须考虑到调整 PC 上的窗口大小以及在手机中从纵向模式更改为横向模式 如何才能做到
  • 为什么 document.getelementbyId 在 Firefox 中不起作用?

    我不明白为什么 document getElementById 在 Firefox 中不起作用 document getElementById main style width 100 当我检查 Firebug 时 它说 类型错误 docu
  • 水平平滑滚动 100px

    Heyjo problem 一周以来我一直在寻找 javascript 或 jQuery 代码 以便在我的网站上实现滚动按钮 我失败的那一刻是按钮应该多次工作的时候 他的任务不是滚动到专用元素 而是应该向左滚动 例如 100px 此外 滚动
  • Cosmos DB 中的 MaxItemCount 源选项属性不起作用

    我正在尝试编写一个运行 SQL 查询的简单存储过程 并且我想通过使用 MaxItemCount 属性来限制结果 查询生成 3 个文档 但我只想返回 1 个文档 我使用 MaxItemCount 属性强制执行此限制 但这似乎不起作用 func

随机推荐

  • 十行代码搞定目标检测

    大数据文摘出品 编译 邢畅 宁静 计算机视觉是人工智能的一个重要领域 是关于计算机和软件系统的科学 可以对图像和场景进行识别 理解 计算机视觉还包括图像识别 目标检测 图像生成 图像超分辨率重建等多个领域 由于存在大量的实际需求 目标检测可
  • 小技巧(5):将TT100K数据集转成VOC格式,并且用Python脚本选出45类超过100张的图片和XML

    上一篇 小技巧 4 将txt中的某两列数据写入csv文件中 制作图像分类标签 文章目录 一 相关准备 1 1 下载数据集 1 2 下载代码文件 1 3 将相关文件移入代码文件 二 创建标准的VOC文件夹 三 生成整个数据集的XML文件 四
  • leetcode-第247场周赛-5798循环轮转矩阵(模拟题)

    5798 循环轮转矩阵 模拟题 题目链接 https leetcode cn com problems cyclically rotating a grid 题目 给你一个大小为 m x n 的整数矩阵 grid 其中 m 和 n 都是 偶
  • Code=201 “Siri and Dictation are disabled“

    iOS 15 之前的语音识别是使用SpeechKit和AVFoundation两个框架来配合使用 其中主要的类有SFSpeechRecognizer SFSpeechAudioBufferRecognitionRequest SFSpeec
  • SSHLibrary本地远程访问LINUX遇Incompatible ssh peer错误

    FAIL SSHException Incompatible ssh peer no acceptable kex algorithm 使用python写了段脚本 远程访问LINUX主机 同样的一段脚本 访问主机A可以 访问主机B就报标题中
  • QtModbus Serial 简单示例

    来自QQ群 Linux 技术分享 311078264 打开链接加入QQ群 https jq qq com wv 1027 k 5Gr3bAx 此文档由elikang整理 为了文章简单直接 许多细节未能在文章中体现 如有疑问请进群讨论 Qt
  • 浮动图标代码

    lt html xmlns http www w3 org 1999 xhtml gt lt head gt lt title gt wahaha lt meta
  • 如何在O(1)时间删除链表指定节点(Java实现)

    声明 题目背景为剑指offer 13 在O 1 时间删除链表节点 给出一个链表如下 删除链表中给定节点 我想最容易想到的方法就是循环遍历 假设想删除节点toBeDeleted 我们先遍历链表 找到节点的下一节点为toBeDeleted的节点
  • python之pyAudioAnalysis:音频特征提取分析文档示例详解

    PyAudioAnalysis是一个开源的Python库 用于从音频文件中提取特征并进行分析 它提供了一系列音频处理函数 可以帮助开发者实现音频分类 情感识别 语音分析等多种任务 在本文中 我们将详细介绍如何使用PyAudioAnalysi
  • 适配器模式和装饰器模式区别

    适配器模式和装饰器模式都可以在原类文件方法的基础上修改 增强 但侧重点不一样 适配器模式重在将一个接口转换为另一个接口 装饰器模式侧重对原类文件方法的增强 但接口还是同一个接口 适配器模式 适配器模式 解决原类文件 适配者 和现有需求 目标
  • ESP8266 WIFI模块学习之路(7)——自写Android手机APP接受单片机数据

    上一篇是写关于自写Android手机APP给单片机下发数据的 这次我将写一下APP如何接受单片机数据 其实使用调试助手 或者别人开的的APP同样能够实现接受单片机数据 但想学习的 我还是建议能够自己写一个Android软件 这样从底层到上层
  • 中间件的介绍

    1 1 什么是中间件 中间件是介于应用系统和系统软件之间的一类软件 他使用系统软件所提供的基础服务 衔接网络上应用系统的各个部分或不同的应用 能够达到资源共享 功能共享的目的 例如MySQL就可以看作是具备中间件特性的一种技术 中间件技术必
  • mysql8查看用户密码_mysql8用户管理

    查看当前登录用户 创建用户 create user 用户名 主机地址 identified with mysql native password by 密码 修改密码 alter user 用户名 主机地址 identified with
  • cnocr避坑指南

    今天用我的win7电脑运行我的一个python程序 让我安装cnocr 于是我就pip install cnocr 安装成功 继续运行 却出现mxnet的问题 一堆它的 dll文件没有 反复卸载重装 没得救 看了一个文章 也是这个问题 就想
  • Java教程:如何读取服务器文件并推送到前端并下载,图片格式以浏览器渲染模式

    起因 在我们做文件上传时 通常会保存文件的相对路径在数据库中 然后返回前端http访问路径 来对文件进行下载或图片预览功能 但是有时候我们并不想直接返回文件访问地址给前端 这就用到了Java当中的文件输入输出流 将文件以流的方式响应给浏览器
  • 【C语言】详解qsort函数使用和模拟实现

    一 qsort函数的使用 qsort的功能 qsort函数是C语言标准提供的排序函数 使用qsort函数需要引用头文件 include
  • h5 video方法,事件,属性详解

    闲下来的的时间里 我一直总结之前学习过的知识 今天到video 发现对它还是不够熟悉 于是重新学习一遍 举个例子
  • [云原生专题-37]:K8S - 核心概念 - 存储抽象- 搭建NFS网络文件系统与常见操作命令

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 122828322 目录 第1步 NFS
  • 怎样用python通达信接口写一个股票自动买卖的程序?

    方法一 前期的数据抓取和分析python都写好了 所以就差交易指令接口了 对于散户投资者来说 正规的法子是愿意给接口的券商 但是需要很高的开户费 而且只有lts ctp这样的c 接口 没有python版就需要用户自己去封装 方法二 wind
  • js抽奖(随机抽奖

    js抽奖 随机抽奖 默认抽奖结果 效果示例图 代码块 效果示例图 代码块