Axure基础详解二十:中继器随机抽奖效果

效果演示


组件

一、中继器

  • 建立一个"中继器"内部插入一个"正方形",给"正方形"添加一个【样式效果】>>【选中状态】填充背景为红色,字体白色。
  • 在中继器表格中插入两列数据函数:【xuhao】(序号列,按12345......填写,用来实现随机抽取时的位置;)和【xuanzhong】(只用于报税抽奖过程中的选中状态。0代表未被选中,1代表被选中,默认值为1;)
  • 中继器布局:为【横向】水平分布,每行项目数为3。

二、"开始抽奖"按钮

|---------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------|
| | |
| | |


全局变量

设置两个【全局变量】

  • **xuanzhongxuhao :**表示被选中的位置序号,用于记录闪烁的位置,默认值为1。
  • **quanshu:**用于记录抽奖轮回闪烁的次数。

交互设置

一、页面载入时交互

【设置变量】"quanshu"为"[[Math.floor(Math.random()*9+18)]]"(【random()】 函数表示获取一个0-1之间的数;*9 是为了在序号1-9中随机抽取一个;+18 表示先让抽奖效果闪烁两遍;【floo()】 函数表示向上取整**。)**

二、中继器每项加载时交互

**【设置文本】**将item.xuhao的值设置给中继器里的"正方形"的文本;

**【设置选中状态】**当"xuanzhong"的值为0时:"正方形"选中状态为"假";当"xuanzhong"的值为1时:"正方形"选中状态为"真"。


三、"抽奖按钮"单击时交互

"抽奖按钮"单击时交互有三种判断条件

1、当"xuanzhongxuhao≥1"和"xuanzhongxuhao≤dataCount"和"quanshu>0"三个条件共同满足时(【dataCount】变量表示"中继器"最大行数。)

  • **【禁用按钮】**鼠标单击按钮以后,我们要首先禁用掉当前按钮,为了防止重复点击而出现的问题。
  • 标记行 】标记中继器里的所有行,然后更新已标记的行,即更新所有行,将所有行里面的xuanzhong列的值都改为0,目的是将全部"正方形"的设置未被选中状态。
  • 更新行】更新的【规则】逻辑是当【"xuhao"=="xuanzhongxuhao"】,将这一行的xuanzhong列的值更新为1。这样就可以保证每次只会选中1个,而且选中这个之后又会自动设置记录文本+1,从而实现循环。
  • 等待】设置一个等待的时间,即每个"正方形"选中显示蓝色背景的时间,为200毫秒。
  • 设置变量】设置"xuanzhongxuhao"为他原来的值+1,代表当前"正方形"已经闪烁完成了,记录下一个要闪烁的"正方形"的序号;设置"quanshu"为他原来的值-1,代表刚开始随机出来的闪烁次数不断减小。
  • **【触发事件】**触发当前"抽奖按钮"鼠标单击时事件实现循环。例如刚开始随机出来的数字是20,那么他就会一直不断的循环在转,20到19到18......到0,才会停止。

2、当"xuanzhongxuhao>dataCount"(【dataCount】变量表示"中继器"最大行数。)

  • **【设置变量】**设置"xuanzhongxuhao"为1,表示重头开始。
  • **【触发事件】**触发当前"抽奖按钮"鼠标单击时事件实现循环。

3、当"quanshu=0"时

  • **【触发事件】**触发页面载入时事件,重置随机次数;
  • 【设置变量】"xuanzhongxuhao"为1,表示重头开始;
  • **【启用按钮】**完成一轮抽取,得到结果,重启按钮。

相关推荐
晚霞的不甘7 小时前
Flutter for OpenHarmony 实现高级视差侧滑菜单:融合动效、模糊与交互动画的现代 UI 设计
flutter·ui·前端框架·交互·鸿蒙
木斯佳8 小时前
HarmonyOS 6实战(源码教学篇)— PinchGesture 图像处理【仿证件照工具实现手势交互的canvas裁剪框】)
图像处理·交互·harmonyos
听麟8 小时前
HarmonyOS 6.0+ PC端手绘板协同创作工具开发实战:压感交互与跨端流转落地
华为·交互·harmonyos
晚霞的不甘8 小时前
Flutter for OpenHarmony构建全功能视差侧滑菜单系统:从动效设计到多页面导航的完整实践
前端·学习·flutter·microsoft·前端框架·交互
灰灰勇闯IT10 小时前
Flutter for OpenHarmony:悬浮按钮(FloatingActionButton)最佳实践 —— 强化核心操作,提升用户效率
flutter·华为·交互
雨季66610 小时前
Flutter 三端应用实战:OpenHarmony “心流之泉”——在碎片洪流中,为你筑一眼专注的清泉
开发语言·前端·flutter·交互
听麟12 小时前
HarmonyOS 6.0+ PC端系统级桌面插件开发实战:ArkUI Widget进阶与系统交互深度集成
华为·交互·harmonyos
RFCEO13 小时前
前端编程 课程十四、:CSS核心基础2:选择器优先级 + 伪类选择器(解决冲突+交互效果)
前端·css·交互·css选择器优先级判断规则详解·css important使用·css链接伪类lvha顺序·实现悬浮交互效果
HyperAI超神经13 小时前
【TVM教程】设备/目标交互
人工智能·深度学习·神经网络·microsoft·机器学习·交互·gpu算力
小雨下雨的雨13 小时前
HarmonyOS 应用开发实战:高精图像处理与头像裁剪持久化技术深度解析
图像处理·人工智能·华为·ai·交互·harmonyos·鸿蒙系统