微信小程序实现转盘抽奖


Posted in Javascript onSeptember 21, 2020

本文实例为大家分享了微信小程序实现转盘抽奖的具体代码,供大家参考,具体内容如下

效果图如下所示

微信小程序实现转盘抽奖

.wxml

<view class="index">
 <view class="xian"></view>
 <view class="xian"></view>
 <view class="xian"></view>
 <view class="detail">一等奖</view>
 <view class="detail">二等奖</view>
 <view class="detail">三等奖</view>
 <view class="detail">四等奖</view>
 <view class="detail">五等奖</view>
 <view class="detail">六等奖</view>
 <span bindtap="zhuanin" style="transform:rotate({{trasn}}deg);"></span>
</view>

.wxss

.index{
 width: 300px;
 margin: 50rpx calc((100% - 300px) / 2);
 border:1px solid #ffcccc;
 border-radius: 50%;
 height: 300px;
 position: relative;
 overflow: hidden;
 font-size: 26rpx;
}
.xian{
 width:300px;
 height:1px;
 background:#d6d6d6;
 position:absolute;
 top:150px;
 left:0;
}
.index>.xian:nth-child(2){
 transform:rotateZ(60deg)
}
.index>.xian:nth-child(3){
 transform:rotateZ(120deg)
}
.detail{
 position: absolute;
}
.index>.detail:nth-child(4){
 top:25px;left:132px;
}
.index>.detail:nth-child(5){
 top:90px;left:225px;
}
.index>.detail:nth-child(6){
 top:190px;left:225px;
}
.index>.detail:nth-child(7){
 top:250px;left:132px;
}
.index>.detail:nth-child(8){
 top:190px;left:40px;
}
.index>.detail:nth-child(9){
 top:90px;left:40px;
}
.index>span{
 width: 30px;
 height: 30px;
 background-color: #ffcccc;
 border-radius: 50%;
 position: absolute;
 left: 135px;
 top:135px;
}
.index>span::after{
 content: ' ';
 width:0;
 height:0;
 border-right:6px solid transparent;
 border-left:6px solid transparent;
 border-bottom:26px solid #ffcccc;
 z-index: 10;
 position: absolute;
 left: 8.5px;
 top: -24px;
}

.js

Page({
 data: {
 random:'',
 trasn:0,
 },
 zhuanin:function(e){
 let that = this
 let num = 0
 that.setData({
  random:Math.floor(Math.random() * 360),
  trasn:0,
 })
 let a = setInterval(function () {
  that.setData({
  trasn:that.data.trasn+5
  })
  if(360 <= that.data.trasn){
  that.data.trasn = 0
  num = num + 1
  }
  if(num == 3){
  that.currinl()
  clearInterval(a)
  }
 },5)
 },
 currinl:function(e){
 let that = this
 let name = ''
 if(that.data.random == 30 || that.data.random == 90 || that.data.random == 150 || that.data.random == 210 || that.data.random == 330){
  that.setData({
  random:that.data.random + 1
  })
 }
 if(that.data.random < 30 || 330 < that.data.random){
  name = '一等奖'
 }else if(that.data.random > 30 && that.data.random < 90){
  name = '二等奖'
 }else if(that.data.random > 90 && that.data.random < 150){
  name = '三等奖'
 }else if(that.data.random > 150 && that.data.random < 210){
  name = '四等奖'
 }else if(that.data.random > 210 && that.data.random < 270){
  name = "五等奖"
 }else{
  name = "六等奖"
 }
 let b = setInterval(function () {
  that.setData({
  trasn:that.data.trasn+2
  })
  if(that.data.random <= that.data.trasn){
  wx.showToast({
   title: name,
   icon: 'none',
   duration: 2000
  })
  clearInterval(b)
  }
 },10)
 },
})

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

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

Javascript 相关文章推荐
用JavaScript页面不刷新时全选择,全删除(GridView)
Apr 14 Javascript
JQuery扩展插件Validate 3通过参数设置错误信息
Sep 05 Javascript
JavaScript sub方法入门实例(把字符串显示为下标)
Oct 17 Javascript
jQuery实现高亮显示的方法
Mar 10 Javascript
jQuery实现遍历复选框的方法示例
Mar 06 Javascript
vue2.0获取自定义属性的值
Mar 28 Javascript
javascript计算对象长度的方法
Oct 25 Javascript
koa+mongoose实现简单增删改查接口的示例代码
May 13 Javascript
快速解决layui弹窗按enter键不停弹窗的问题
Sep 18 Javascript
jQuery实现验证用户登录
Dec 10 jQuery
node.js使用http模块创建服务器和客户端完整示例
Feb 10 Javascript
js实现简单抽奖功能
Nov 24 Javascript
结合axios对项目中的api请求进行封装操作
Sep 21 #Javascript
微信小程序实现打卡签到页面
Sep 21 #Javascript
微信小程序实现签到弹窗动画
Sep 21 #Javascript
解决vue prop传值default属性如何使用,为何不生效的问题
Sep 21 #Javascript
微信小程序实现日历签到
Sep 21 #Javascript
Vue切换Tab动态渲染组件的操作
Sep 21 #Javascript
js实现购物车商品数量加减
Sep 21 #Javascript
You might like
关于二级目录拖拽排序的实现(源码示例下载)
2013/04/26 PHP
PHP获取一段文本显示点阵宽度和高度的方法
2015/03/12 PHP
php计算整个目录大小的方法
2015/06/19 PHP
Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法
2016/03/21 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
PHP asXML()函数讲解
2019/02/03 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
javascript 导出数据到Excel(处理table中的元素)
2009/12/18 Javascript
javascript 文本框水印/占位符(watermark/placeholder)实现方法
2012/01/15 Javascript
jQuery选择器源码解读(八):addCombinator函数
2015/03/31 Javascript
jQuery-1.9.1源码分析系列(十一)DOM操作续之克隆节点
2015/12/01 Javascript
javascript的BOM
2016/05/03 Javascript
Bootstrap 组件之按钮(二)
2016/05/11 Javascript
JavaScript中数组Array.sort()排序方法详解
2017/03/01 Javascript
JavaScript变量作用域_动力节点Java学院整理
2017/06/27 Javascript
Echarts基本用法_动力节点Java学院整理
2017/08/11 Javascript
[57:09]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第一场 1月26日
2021/03/11 DOTA
python使用cookielib库示例分享
2014/03/03 Python
python网络编程学习笔记(六):Web客户端访问
2014/06/09 Python
Python中urllib2模块的8个使用细节分享
2015/01/01 Python
python装饰器与递归算法详解
2016/02/18 Python
python机器学习之贝叶斯分类
2018/03/26 Python
python如何求解两数的最大公约数
2018/09/27 Python
tensorflow 变长序列存储实例
2020/01/20 Python
class类在python中获取金融数据的实例方法
2020/12/10 Python
移动端rem布局的两种实现方法
2018/01/03 HTML / CSS
CSS3之背景尺寸Background-size使用介绍
2013/10/14 HTML / CSS
.NET常见笔试题集
2012/12/01 面试题
毕业生自我鉴定
2013/11/05 职场文书
财政局长自荐信范文
2013/12/22 职场文书
我的求职计划书
2014/01/10 职场文书
小班上学期幼儿评语
2014/12/30 职场文书
初三化学教学反思
2016/02/22 职场文书
nginx安装以及配置的详细过程记录
2021/09/15 Servers
PostgreSQL基于pgrouting的路径规划处理方法
2022/04/18 PostgreSQL
python中pycryto实现数据加密
2022/04/29 Python