iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >微信小程序实现简单九宫格抽奖
  • 357
分享到

微信小程序实现简单九宫格抽奖

2024-04-02 19:04:59 357人浏览 安东尼
摘要

本文实例为大家分享了微信小程序实现简单九宫格抽奖的具体代码,供大家参考,具体内容如下 废话不多说,先上样板图 代码就先wxml文件: <view id="container"

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

废话不多说,先上样板图

代码就先wxml文件:

<view id="container">
  <!--左上-->
  <view id="li" class='{{amplification_index===1?"indexli":""}}'>
    一等奖
    <view></view>
  </view>
  <!--上-->
  <view id="li" class='{{amplification_index===2?"indexli":""}}'>
    二等奖
    <view></view>
  </view>
  <!--右上-->
  <view id="li" class='{{amplification_index===3?"indexli":""}}'>
    三等奖
    <view></view>
  </view>
  <!--左-->
  <view id="li" class='{{amplification_index===8?"indexli":""}}'>
    八等奖
    <view></view>
  </view>
  <!--开始-->
  <a bindtap="startrolling">
    开始抽奖
  </a>
  <!--右-->
  <view id="li" class='{{amplification_index===4?"indexli":""}}'>
    四等奖
    <view></view>
  </view>
  <!--左下-->
  <view id="li" class='{{amplification_index===7?"indexli":""}}'>
    七等奖
    <view></view>
  </view>
  <!--下-->
  <view id="li" class='{{amplification_index===6?"indexli":""}}'>
    六等奖
    <view></view>
  </view>
  <!--右下-->
  <view id="li" class='{{amplification_index===5?"indexli":""}}'>
    五等奖
    <view></view>
  </view>
  <p id="pp"></p>
</view>

wxss文件:

#container {
  width: 750rpx;
  height: 750rpx;
}
 
#li, a {
  background: #fff;
  margin: 20rpx;
  border: 1px solid #000000;
  width: 210rpx;
  height: 210rpx;
  box-sizing: border-box;
  display: block;
  float: left;
  text-align: center;
  line-height: 100px;
  position: relative;
  border-radius: 5rpx;
}
 
a:hover {
  cursor: pointer;
  color: orange;
  font-size: 18px;
}
 
.active {
  background: red;
  color: #fff;
}
 
#pp {
  line-height: 32px;
  color: #9a9a9a;
  text-align: center;
}
 
page view .indexli {
  width: 210rpx;
  height: 210rpx;
  margin-top: 0rpx;
  margin-left: 0rpx;
  margin-bottom: 0rpx;
  margin-right: 0rpx;
  box-sizing: border-box;
}
 
.indexli view {
  position: absolute;
  width: 190rpx;
  height: 190rpx;
  background: #000000;
  opacity: 0.3;
  left: 0;
  top: 0;
  border:10rpx solid blue;
}
 
a {
  position: relative;
}
 
a image {
  width: 100%;
  height: 100%;
  border-radius: 5rpx;
}
 
a view {
  width: 80rpx;
  height: 80rpx;
  position: absolute;
  font-size: 40rpx;
  color: #fff;
  font-weight: 700;
  line-height: 40rpx;
  margin-left: -40rpx;
  margin-top: -40rpx;
  left: 50%;
  top: 50%;
 
}
 
.c_title {
  width: 100%;
  text-align: center;
  color: #fff;
  font-size: 20rpx;
  padding-top: 30rpx;
}
 
.c_title2 {
  color: #fff;
  text-align: center;
  font-size: 40rpx;
}
 
.c_title3 {
  background: red;
  width: 250rpx;
  margin-left: 250rpx;
  height: 40rpx;
  line-height: 40rpx;
  color: #fff;
  font-size: 20rpx;
  text-align: center;
}
 
.c_titlr4 {
  background: Gold;
  color: red;
  width: 400rpx;
  border-radius: 500rpx;
  text-align: center;
  font-size: 20rpx;
  margin-left: 175rpx;
  margin-top: 10rpx;
}
 
.b1 {
  margin-left: 20rpx;

js文件 

// pages/Lottery/Lottery.js
Page({
  data: {
    last_index: 0,//上一回滚动的位置
    amplification_index: 0,//轮盘的当前滚动位置
    roll_flag: true,//是否允许滚动
    max_number: 8,//轮盘的全部数量
    speed: 300,//速度,速度值越大,则越慢 初始化为300
    finalindex: 5,//最终的奖励距离当前的位置!不是最后的几等奖!
    myInterval: "",//定时器
    max_speed: 40,//滚盘的最大速度
    minturns: 8,//最小的圈数为2
    runs_now: 0//当前已跑步数
  },
  //开始滚动
  startrolling: function () {
    let _this = this;
    //初始化步数
    _this.data.runs_now = 0;
    //当前可以点击的状态下
    if (_this.data.roll_flag) {
      _this.data.roll_flag = false;
      //启动滚盘,注,若是最终后台无返回就不好意思里
      _this.rolling();
    }
  },
  onShow: function () {
    this.data.min_height = getApp().globalData.windowheight;
    this.setData(this.data);
  },
  //滚动轮盘的动画效果
  rolling: function (amplification_index) {
    var _this = this;
    this.data.myInterval = setTimeout(function () { _this.rolling(); }, this.data.speed);
    this.data.runs_now++;//已经跑步数加一
    this.data.amplification_index++;//当前的加一
    //获取总步数,接口延迟问题,所以最后还是设置成1s以上
    var count_num = this.data.minturns * this.data.max_number + this.data.finalindex - this.data.last_index;
    //上升期间
    if (this.data.runs_now <= (count_num / 3) * 2) {
      this.data.speed -= 30;//加速
      if (this.data.speed <= this.data.max_speed) {
        this.data.speed = this.data.max_speed;//最高速度为40;
      }
    }
    //抽奖结束
    else if (this.data.runs_now >= count_num) {
      clearInterval(this.data.myInterval);
      this.data.roll_flag = true;
    }
    //下降期间
    else if (count_num - this.data.runs_now <= 10) {
      this.data.speed += 20;
    }
    //缓冲区间
    else {
      this.data.speed += 10;
      if (this.data.speed >= 100) {
        this.data.speed = 100;//最低速度为100;
      }
    }
    if (this.data.amplification_index > this.data.max_number) {//判定!是否大于最大数
      this.data.amplification_index = 1;
    }
    this.setData(this.data);
 
  }
})

样式

color: #fff; font-size: 40rpx;}
.b2 { margin-left: 20rpx; color: #fff; font-size: 25rpx;}
.b3 { margin-left: 20rpx; color: #fff; font-size: 25rpx;}
.b4 { margin-left: 20rpx; color: #fff; font-size: 25rpx;}
.b5 { margin-left: 20rpx; color: #fff; font-size: 25rpx;}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: 微信小程序实现简单九宫格抽奖

本文链接: https://www.lsjlt.com/news/152902.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 微信小程序实现简单九宫格抽奖
    本文实例为大家分享了微信小程序实现简单九宫格抽奖的具体代码,供大家参考,具体内容如下 废话不多说,先上样板图 代码就先wxml文件: <view id="container"...
    99+
    2022-11-13
  • JS实现简单九宫格抽奖
    用JavaScript写一个九宫格的抽奖盘,供大家参考,具体内容如下 点击中间的块,选中奖品的亮块会在边缘的8个块循环; 选中后,弹出选中的内容; 代码参考: HTML文件: <...
    99+
    2022-11-13
  • JS实现简单的九宫格抽奖
    本文实例为大家分享了JS实现简单九宫格抽奖的具体代码,供大家参考,具体内容如下 结构 <body>     <div id="fa">         &l...
    99+
    2022-11-13
  • JS如何实现简单九宫格抽奖
    这篇文章主要介绍了JS如何实现简单九宫格抽奖的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JS如何实现简单九宫格抽奖文章都会有所收获,下面我们一起来看看吧。HTML文件:<body><div&...
    99+
    2023-07-02
  • JS如何实现简单的九宫格抽奖
    本篇内容介绍了“JS如何实现简单的九宫格抽奖”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!结构<body>  ...
    99+
    2023-07-02
  • 微信小程序如何实现九宫格
    这篇文章将为大家详细讲解有关微信小程序如何实现九宫格,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。微信小程序 九宫格实现效果图:小程序是长在微信上的,是移动端的界面,为了...
    99+
    2022-10-19
  • 微信小程序实现九宫格效果
    本文实例为大家分享了微信小程序实现九宫格效果的具体代码,供大家参考,具体内容如下 1.九宫格实现示例图: Tips: 说明: 使用 display: -webkit-flex;对...
    99+
    2022-11-12
  • 微信小程序怎么实现九宫格
    这篇文章主要介绍“微信小程序怎么实现九宫格”,在日常操作中,相信很多人在微信小程序怎么实现九宫格问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序怎么实现九宫格”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-26
  • 微信小程序实现九宫格翻牌动画
    本文实例为大家分享了微信小程序实现九宫格翻牌的具体代码,供大家参考,具体内容如下 9宫格翻牌需求: 1.进来时平铺9个格子显示 2.点击开始抽奖时洗牌动作 3.洗完牌后呈现9个都是...
    99+
    2022-11-13
  • 怎么用PHP+Ajax实现手机端九宫格抽奖程序
    这篇文章主要讲解了“怎么用PHP+Ajax实现手机端九宫格抽奖程序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用PHP+Ajax实现手机端九宫格抽奖程序”吧!PHP+Ajax结合lot...
    99+
    2023-06-04
  • 微信小程序实现走马灯式抽奖
    本文实例为大家分享了微信小程序实现走马灯式抽奖的具体代码,供大家参考,具体内容如下 先来看下效果 设置奖项 awardList是从后台拿到的奖项数组,list不够八位时填充谢谢参与...
    99+
    2022-11-13
  • 微信小程序转盘抽奖的实现方法
    本文实例为大家分享了微信小程序实现转盘抽奖的具体代码,供大家参考,具体内容如下 lucky-draw.wxss: .lucky_draw_zp{ width: 502rpx; hei...
    99+
    2022-11-13
  • 微信小程序怎么实现抽奖大转盘
    这篇“微信小程序怎么实现抽奖大转盘”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“微信小程序怎么实现抽奖大转盘”文章吧。界面就...
    99+
    2023-06-26
  • Android编程简单实现九宫格示例
    本文实例讲述了Android编程简单实现九宫格。分享给大家供大家参考,具体如下:实现的步骤 一个整体的容器部分。就是上图中包括整个图片项个各个部分,这里我们使用gridView(表格布局)来实现整个界面里需要注意的是 “重复的部分”,就是 ...
    99+
    2023-05-31
    android 九宫格 roi
  • 用Python实现一个简单的抽奖小程序
    目录写在前面 实现结果 1 数据拉取2 数据清洗、去重3 中奖数据抽取python 相关知识点总结写在前面  因为粉丝福利,所以想自己写一个抽...
    99+
    2023-05-12
    python抽奖系统 python随机抽奖 python抽奖游戏
  • 微信小程序如何实现走马灯式抽奖
    今天小编给大家分享一下微信小程序如何实现走马灯式抽奖的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。先来看下效果设置奖项awa...
    99+
    2023-06-30
  • 微信小程序实现简单搜索框
    本文实例为大家分享了微信小程序实现简单搜索框的具体代码,供大家参考,具体内容如下 app.json {   "pages":[     "pages/index/index"   ]...
    99+
    2022-11-13
  • 微信小程序实现简单聊天室
    本文实例为大家分享了微信小程序实现简单聊天室的具体代码,供大家参考,具体内容如下 cha.js // pages/chat/chat.js // 获取小程序实例 let app ...
    99+
    2022-11-12
  • 微信小程序实现简单计算器
    微信小程序写的简单计算器,供大家参考,具体内容如下 jisaunqi.js // pages/jisuanqi/jisuanqi.js Page({ data: {...
    99+
    2022-11-12
  • 小程序怎么实现九宫格心形拼图效果
    这篇文章主要介绍了小程序怎么实现九宫格心形拼图效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇小程序怎么实现九宫格心形拼图效果文章都会有所收获,下面我们一起来看看吧。实现小程序的思路有两个 canvas,一个...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作