微信小程序实现转盘抽奖


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 相关文章推荐
js实现兼容IE和FF的上下层的移动
May 04 Javascript
smartcrop.js智能图片裁剪库
Oct 14 Javascript
基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果
Nov 09 Javascript
使用Angular.js实现简单的购物车功能
Nov 21 Javascript
基于JavaScript实现右键菜单和拖拽功能
Nov 28 Javascript
JS表单验证方法实例小结【电话、身份证号、Email、中文、特殊字符、身份证号等】
Feb 14 Javascript
node中Express 动态设置端口的方法
Aug 04 Javascript
bootstrap 弹出框modal添加垂直方向滚轴效果
Jul 09 Javascript
JavaScript ECMA-262-3 深入解析(二):变量对象实例详解
Apr 25 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
May 13 Javascript
vue实现打地鼠小游戏
Aug 21 Javascript
EXTJS7实现点击拖拉选择文本
Dec 17 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
PHP脚本数据库功能详解(下)
2006/10/09 PHP
CI框架中集成CKEditor编辑器的教程
2014/06/09 PHP
thinkphp模板输出技巧汇总
2014/11/24 PHP
PHP中session跨子域的三种实现方法
2016/07/25 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
2017/03/25 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
javascript获取当前ip的代码
2009/05/10 Javascript
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
2011/04/24 Javascript
js 实现日期灵活格式化的小例子
2013/07/14 Javascript
angularJS与bootstrap结合实现动态加载弹出提示内容
2015/10/16 Javascript
利用js判断手机是否安装某个app的多种方案
2017/02/13 Javascript
微信小程序开发之数据存储 参数传递 数据缓存
2017/04/13 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
2017/05/10 Javascript
详解AngularJS ng-class样式切换
2017/06/27 Javascript
一种angular的方法级的缓存注解(装饰器)
2018/03/13 Javascript
jQuery实现DIV响应鼠标滑过由下向上展开效果示例【测试可用】
2018/04/26 jQuery
移动端H5页面返回并刷新页面(BFcache)的方法
2018/11/06 Javascript
vue 地图可视化 maptalks 篇实例代码详解
2019/05/21 Javascript
vue实现Input输入框模糊查询方法
2021/01/29 Javascript
vue中实现回车键登录功能
2020/02/19 Javascript
浅析Git版本控制器使用
2017/12/10 Python
Python Xml文件添加字节属性的方法
2018/03/31 Python
Python基于最小二乘法实现曲线拟合示例
2018/06/14 Python
Python 余弦相似度与皮尔逊相关系数 计算实例
2019/12/23 Python
如何使用Cython对python代码进行加密
2020/07/08 Python
全方位了解CSS3的Regions扩展
2015/08/07 HTML / CSS
印度在线购买电子产品网站:Croma
2020/01/02 全球购物
C#笔试题和英文面试题
2013/02/07 面试题
过滤器的用法
2013/10/08 面试题
女大学生自我鉴定
2013/12/09 职场文书
计算机通信专业推荐信
2014/02/22 职场文书
结婚周年感言
2014/02/24 职场文书
公司经理任命书
2014/06/05 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
忠诚教育学习心得体会
2016/01/23 职场文书
三好学生评选事迹材料(2016精选版)
2016/02/25 职场文书