<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"><title>九宫格抽奖</title><style>html,body {font-size: 13.3333333333333vw;}*{margin: 0;padding: 0;box-sizing: border-box;}body{background-color: #fff;font-size: .3rem;}.items{display: grid;grid-template-columns: repeat(3,calc(100vw/3));grid-template-rows: repeat(3,calc(100vw/3));}.item{border: 1px solid #fff;background-color: #f0f0f0;display: grid;justify-content: center;align-items: center;}.item-active{border: 1px solid red;background-color: pink;color: #fff;}.item:nth-child(5){border:1px solid green;background-color: green;color:#fff;}</style>
</head>
<body><div id="app"><div class="items"><div v-for="(item,index) in items" :key="index" class="item" :class="active===index?'item-active':''"@click="toBegin(index)"><span>{{item.name}}</span></div></div></div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>new Vue({el:'#app',data:{active:null,circle:[0,1,2,5,8,7,6,3],items:[{name:'手机0'},{name:'钱包1'},{name:'iPhone11-2'},{name:'华为P30-3'},{name:'开始抽奖'},{name:'Ipad-5'},{name:'小米背包-6'},{name:'小米鼠标-7'},{name:'无线路由器-8'},]},methods:{toBegin(index){if(index===4){// 0-8的随机数let random = Math.floor(Math.random()*10-1);// 最少转3圈let turnsNumber = random > 3?random:3;let array = [];for(let j = 1;j<turnsNumber;j++){array = array.concat(this.circle)}// 最后一圈的计算let lastArray = [];for(let i = 0;i<random;i++){lastArray.push(this.circle[i])}array = array.concat(lastArray);// 改变索引实现转动效果for(let i=0;i< array.length;i++){setTimeout(() => {this.active = array[i]}, i*50) }}},}})</script>
</body>
</html>

九段刀客:js九宫格转盘抽奖实现原理相关推荐

  1. android 九宫格转盘,vue组件实现移动端九宫格转盘抽奖

    本文实例为大家分享了vue组件实现移动端九宫格转盘抽奖的具体代码,供大家参考,具体内容如下 vue-lucky-draw 移动端九宫格转盘抽奖vue组件,中奖的奖品数据由接口决定. 效果图 抽奖 因为 ...

  2. 移动端九宫格转盘抽奖vue组件

    vue-lucky-draw 移动端九宫格转盘抽奖vue组件,中奖的奖品数据由接口决定. 效果图 抽奖 因为中奖的结果是后台返回的,所以要考虑转盘的最终停下来的位置必须是在对应后台返回结果的奖品的位置 ...

  3. 微信js 大转盘抽奖

    看到网页上有不少大转盘抽奖的应用,心血来潮也想弄个.于是找了点资料自己研究了下 queryRotate 这个插件就可以实现这个功能 jqueryRotate: 支持Internet Explorer ...

  4. 原生JS实现简易转盘抽奖

    我爱撸码,撸码使我感到快乐. 大家好,我是Counter. 本章带大家来简单的了解下原生JS实现转盘抽奖. 因为主要涉及到JS,在这里HTML和CSS起到的功能就没有那么重要, 因此,没有过多的阐述H ...

  5. js html转盘点名,原生JS实现简易随机点名功能

    定时器的工作原理,这里将用引用How JavaScript Timers Work中的例子来解释定时器的工作原理,该图为一个简单版的原理图.· 上图中,左侧数字代表时间,单位毫秒:左侧文字代表某一个操 ...

  6. php仿京东幸运大转盘抽奖,原生js vue 抽奖插件 仿京东大转盘抽京豆(原创)...

    插件描述:一个基于原生 javript vue2 vue3 的大转盘抽奖插件 更新时间:2020-11-24 00:18:54 在 vue2.x / vue3.x 中使用 方式 1:通过 import ...

  7. js框架jquery实现幸运大转盘抽奖程序代码,兼容多种浏览器

    原文:js框架jquery实现幸运大转盘抽奖程序代码,兼容多种浏览器 源代码下载地址:http://www.zuidaima.com/share/1779633798073344.htm 看到网页上有 ...

  8. jquery抽奖转盘java_jquery实现九宫格大转盘抽奖

    下面我们来分享一个九宫格抽奖特效 特效说明: 一款jQuery九宫格大转盘抽奖代码网页特效,点击抽奖按钮开始随机抽奖选择奖品,可设置起点位置.奖品数量.转动次数.中奖位置参数.(兼容测试:IE7及以上 ...

  9. jquery.rotate.js 转盘抽奖示例

    使用jquery.rotate.js 插件简单的转盘抽奖示例: 1.引入jQuery和jquery.rotate.js插件 <script src="static/js/jquery. ...

最新文章

  1. [转]在Eclipse中使用JUnit4进行单元测试(中级篇)
  2. C#如何根据DataTable生成泛型List或者动态类型list
  3. Go 语言编程 — net/http — 支持 HTTPS
  4. linux socket 中的backlog参数介绍
  5. php 计算几分钟_几天前 _几月前 几年前,php计算几分钟前、几小时前、几天前的几个函数...
  6. oracle查询grant信息,Oracle学习笔记(四)
  7. 带Prometheus的Spring Boot和测微表第4部分:基础项目
  8. 汇编语言学习——第四章 第一个汇编程序
  9. 【转】自旋锁-SpinLock(.NET 4.0+)
  10. 敏捷开发与中医理论系列之二:古法教学(软件教育,松结对编程,师徒制度)...
  11. JAVA基础之自定义容器实现
  12. spring mvc 中自定义404页面在IE中无法显示favicon.ico问题的解决方法。
  13. ExtJs4 笔记(12) Ext.toolbar.Toolbar 工具栏、Ext.toolbar.Paging 分页栏、Ext.ux.statusbar.StatusBar 状态栏...
  14. 用友U8对账不平,对账错误简单处理方法
  15. Java中数据输入输出流——DataInputStream和DataOutputStream
  16. python 一键登录126邮箱
  17. 计算机双工模式,windows10系统如何设置网络双工模式?
  18. python中*args和**kargs得用法总结
  19. Ubuntu18.04配置搭建基于Gazebo的虚拟仿真平台(Px4):无人机(UAV)、无人车等模拟实验平台
  20. 【网易邮箱】换绑安全手机(①之前的手机号注销了怎么办 ②网易人工客服在哪)

热门文章

  1. 国际碳行动伙伴组织(ICAP)全球碳市场进展资料2019
  2. JavaScript中的jQuery
  3. RNA-seq 详细教程:搞定count归一化(5)
  4. iOS 左上角的返回按钮的几种设置
  5. 低蓝光认证:TUV莱茵与TUV南德 有啥区别?
  6. 他是硅谷最好斗的华人 微软、谷歌、特斯拉都离不开他
  7. 真c++创建B树(非c with class)
  8. linux系统php连接dm达梦
  9. MKS TinyBee V1.0使用说明书
  10. matlab 召回率,查准率、召回率、敏感性、特異性和F1-score的計算及Matlab實現