微信小程序实现转盘抽奖


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限制上传图片大小不使用控件在本地实现
Dec 19 Javascript
使用js正则控制input标签只允许输入的值
Jul 29 Javascript
js数组方法扩展实现数组统计函数
Apr 09 Javascript
JS组件系列之MVVM组件构建自己的Vue组件
Apr 28 Javascript
react-router4 嵌套路由的使用方法
Jul 24 Javascript
vue vuex vue-rouert后台项目——权限路由(适合初学)
Dec 29 Javascript
Vue单页及多页应用全局配置404页面实践记录
May 22 Javascript
在JS循环中使用async/await的方法
Oct 12 Javascript
vue src动态加载请求获取图片的方法
Oct 17 Javascript
用Golang运行JavaScript的实现示例
Nov 25 Javascript
ES6使用新特性Proxy实现的数据绑定功能实例
May 11 Javascript
详解JavaScript中的Object.is()与&quot;===&quot;运算符总结
Jun 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数据库连接时容易出错的特殊符号问题
2010/09/01 PHP
php实现给一张图片加上水印效果
2016/01/02 PHP
php格式文件打开的四种方法
2018/02/24 PHP
基于javascript 闭包基础分享
2013/07/10 Javascript
js post提交调用方法
2014/02/12 Javascript
纯JavaScript实现获取onclick、onchange等事件的值
2014/12/29 Javascript
深入探究使JavaScript动画流畅的一些方法
2015/06/30 Javascript
javascript图片预加载实例分析
2015/07/16 Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
2016/05/30 Javascript
jQuery easyUI datagrid 增加求和统计行的实现代码
2016/06/01 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
2016/12/23 Javascript
微信小程序搜索组件wxSearch实例详解
2017/06/08 Javascript
详解 vue.js用法和特性
2017/10/15 Javascript
javascript跳转与返回和刷新页面的实例代码
2019/11/20 Javascript
使用Python压缩和解压缩zip文件的教程
2015/05/06 Python
Python与人工神经网络:使用神经网络识别手写图像介绍
2017/12/19 Python
Python下载网络文本数据到本地内存的四种实现方法示例
2018/02/05 Python
Python设计模式之迭代器模式原理与用法实例分析
2019/01/10 Python
Python使用Pickle模块进行数据保存和读取的讲解
2019/04/09 Python
Django如何实现上传图片功能
2019/08/16 Python
在django-xadmin中APScheduler的启动初始化实例
2019/11/15 Python
python二维键值数组生成转json的例子
2019/12/06 Python
在flask中使用python-dotenv+flask-cli自定义命令(推荐)
2020/01/05 Python
Python lxml库的简单介绍及基本使用讲解
2020/12/22 Python
python绘制高斯曲线
2021/02/19 Python
Dr. Martens马汀博士官网:马丁靴始祖品牌
2016/10/15 全球购物
缅甸网上购物:Shop.com.mm
2017/12/05 全球购物
颁奖晚会主持词
2014/03/25 职场文书
一年级评语大全
2014/04/23 职场文书
运动员获奖感言
2014/08/15 职场文书
课前一分钟演讲稿
2014/08/26 职场文书
写给妈妈的感谢信
2015/01/22 职场文书
运动会开幕式主持词
2015/07/01 职场文书
网络研修随笔感言
2015/11/18 职场文书
2017寒假社会实践心得体会范文
2016/01/14 职场文书
SQL 聚合、分组和排序
2021/11/11 MySQL