Axure设计之滑动验证组件(动态面板)

news2024/9/25 1:16:56

一、案例效果

1、默认显示滑块、背景及提示文案;

2、滑块仅允许向右水平拖动,且不能超过背景区域;

3、滑块移动过程中,左侧区域样式跟随变化,右侧区域保持不变;

4、滑块为未拖动到最右侧时释放,自动回到初始位置;

5、滑块拖动到最右侧时,自动触发验证并显示加载状态;

6、加载状态持续1000ms,而后显示“验证成功”;

7、验证成功后滑块不允许拖动,向右箭头变成完成图标。

二、实现思路

1、滑块拖动使用动态面板,动态面板可以添加拖动事件;

2、使用“拖动时”事件定义滑块拖动的范围、拖动过程的交互;

2、使用“拖动结束时”事件处理未拖动到最右侧、拖动到最右侧时释放滑块的交互;

3、使用情形判断及简单的函数计算滑块x坐标的位置判断是否已拖动到最右侧;

4、滑块拖动过程中左侧区域样式跟随变化的交互,通过计算滑块x坐标与背景x坐标的差值来设置尺寸(状态层动态面板的宽度)。

三、实现步骤

1、拖入矩形

画一个验证完成前的背景,380×40(尺寸可自行调整),输入文字,调整到适合的样式,起个便于识别的名称“拖动前背景”。

2、复制“拖动前背景”

粘贴得到新的矩形,这个是拖动时左侧以及验证完成后的背景;调整完样式以后,将它转换为动态面板,名称改成“状态背景”,便于区分。

右击选择“转换为动态面板” 

3、对齐两个原件

将“状态背景(动态面板)”组件放置在“拖动前背景”组件左侧,至于上层,然后将尺寸调整为50×40,效果如下。

4、拖入矩形画拖动滑块

矩形宽高50×40,再找准备两个图标,箭头和完成的图标,将图标分别写上名称“箭头”、“完成”,将“完成”图标,设置为隐藏;

将“箭头”和“完成”图标调整到合适尺寸,并且与“滑块矩形”上下左右居中对齐;

然后将滑块和图标编组后转换为动态面板,动态面板名称改为“拖动滑块(动态面板)”。

 将刚刚画的“拖动滑块(动态面板)”原件对齐到背景区域的左侧。

 5、制作验证中组件

找一个动态的加载图标,再添加一个文本标签,文本为“加载中”,调整好样式。

将两个元件组合,设置隐藏,放置到背景合适的位置。

至此,完成上面1~5步,拖动滑块验证组件用到的所有图层都画完了。

下面开始添加交互动作:

注意,我们所有的交互动作,都添加在“拖动滑块(动态面板)”原件上。

6、 添加“拖动时”交互

选中“拖动滑块(动态面板)”原件,新建交互,选择“拖动时”。

6.1、 动作一

添加动作“移动”,目标“拖动滑块(动态面板)”,移动“跟随水平拖动”,动画“None”,轨道“直线”,添加界限:“左侧”大于“拖动前背景”原件的x边距,“右侧”小于“拖动前背景”原件的x边距加宽度之和。

因为要限制滑块的拖动范围,所以上面需要设置“拖动滑块”的左右侧边界,可能这块一开始有不明白的,还需多思考理解。

 6.2、 动作二

添加动作“设置尺寸”,目标“状态背景(动态面板)”,宽度等于“拖动滑块原件的x边距 减去 拖动前背景原件的x边距”,高度不变,锚点“左侧”。

 完以上动作试一下效果吧,有点迫不及待了

至此只实现了拖动的效果,没有“卧槽”的感觉,莫急莫急,继续折腾...

7、 添加“拖动结束时”交互

“拖动结束时”会有两组动作,需要根据情形条件进行判断。

7.1、情形条件1

先看条件:如果“拖动滑块(动态面板)”原件的x边距大于等于“拖动前背景”原件的x边距加宽度减去“T拖动滑块(动态面板)”原件的宽度1.1倍(1.1倍是为了冗余出一些距离,便于手动时触发)。

满足上面条件,说明“拖动滑块(动态面板)”原件已经拖到了最右边,此时执行的动作:

①、添加“启用/禁用”动作,禁用“拖动滑块(动态面板)”原件,让它不能再往回拖动了;

②、添加“设置文本”动作,将“拖动前背景”原件和“状态背景”原件的文本内容设置为“”(“按住滑块向右滑动进行验证”不要了);

③、添加“显示/隐藏”动作,显示“验证加载”原件,呈现加载中的动态效果;

④、添加“等待”动作,等待时间1000ms,目的是让加载中动态效果持续1秒钟;

⑤、“等待”动作结束后,添加“显示/隐藏”动作,隐藏“验证加载”原件和“箭头”图标,显示“完成”图标;

⑥、添加“设置文本”动作,将“状态背景”原件的文本内容设置为“验证通过”

下面是动作的截图:

动作①(这一步遇到了问题,已经原件禁用了,但是还能往回拖,如果有解决的帮忙留言解答,谢谢。)

 动作②

 动作③

 动作④

 动作⑤

 动作⑥

 7.2、情形条件2

不满足情形条件1条件时,说明“拖动滑块(动态面板)”原件没有到达最右边鼠标松开了,这时需要让“拖动滑块(动态面板)”原件回到初始位置,此时执行的动作:

①、添加“设置尺寸”动作,目标“状态背景(动态面板)”,宽度为[[This.width]](或者固定50),高度不变,锚点为左侧,设置“缓慢退出500毫秒”的动画;

②、添加“移动”动作,目标“拖动滑块(动态面板)”,移动选择“回拖动前位置”,设置“缓慢退出500毫秒”的动画。

下面是动作的截图:

动作①

 动作②

四、最终效果

 五、运用到登录页面的效果

 六、遗留问题

在“三、实现步骤 7.1动作① 存在问题,拖动滑块已经北禁用了,但是还能往左拖动”,有知道的请帮忙解答一下,谢谢。

~~如果觉得本文还不错,对你有帮助,请帮忙点个赞吧!~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/712982.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

后书《乡村振兴战略下传统村落文化旅游设计》,交浅而言深者,愚也

后书《乡村振兴战略下传统村落文化旅游设计》,交浅而言深者,愚也

初学Spring boot (六) 自定义starter

学习回顾:初学Spring boot (五) 自动配置原理 自定义Starter 我们分析完毕了源码以及自动装配的过程,我们可以尝试自定义一个启动器来玩玩! 1、说明 启动器模块是一个 空 jar 文件,仅提供辅助性依赖管理&am…

B2a实例学习记录

B2a简介 只是把hit存到了hitcollection,只是统计了各自event结果,将每次event的运行结果存起来了,并没有做总的求和 如何在B2a的基础上,实现对某一个chamber的能量的累加 1 hit和SD(sensitive detector) 每一个s…

越权访问漏洞

越权漏洞 越权访问漏洞示意图 一、越权访问漏洞简介 1.类型 水平越权:通过更换的某个ID之类的身份标识,从而使A账号获得(增删查改)B账号的数据 垂直越权:使用低权限身份的账号,发送高权限账号的请求&…

Java——内部类

一、成员内部类 类中的东西都是成员, 1.1、成员内部类定义 定义成员内部类的格式: class OuterClass {//外部类class InnerClass{//内部类(内部类实际是外部类的一个属性)} }示例 public class Outer {private static int r…

使用Selenium-PO设计模式提高Web自动化测试效率

PO(page object)设计模式是在自动化中已经流行起来的一种易于维护和减少代码的设计模式。在自动化测试中,PO对象作为一个与页面交互的接口。测试中需要与页面的UI进行交互时,便调用PO的方法。这样做的好处是,如果页面的…

.Net之AOP - 使用Fody的代码静态编织实现AOP

简介(好久没写博客了) 万物皆可AOP,本篇文章主要讲解在.Net7中使用Fody的代码静态编织实现AOP。 一、前言 AOP AOP是指面向切面编程 (Aspect Oriented Programming),相信大家都再熟悉不过了,…

上海市“小巨人”竞争力指数榜单发布!上海三思居全市总榜第四!分项NO.1!

6月25日下午,2022 年上海市专精特新“小巨人”市场竞争力指数榜单”在上海市上海联合产权交易所正式发布。上海三思电子工程有限公司多项荣登指数榜单: ●指数总榜TOP10,上海三思以83.69的高分位居全市8072家“小巨人”企业第四位&#xff0…

军用电子设备人工智能时代正在到来

源自: 战略前沿技术 Al的应用快速增长 更大的图景 人工智能技术的多面性 增强作战人员能力 数据依赖 人工智能和机器学习:前面的路 对人工智能应用保持警惕 声明:公众号转载的文章及图片出于非商业性的教育和科研目的供大家参考和探讨,并不意味着支持其观…

vue+elementui实现联想购物商城,样式美观大方

目录 一、首页效果图对比 1.联想商城首页截图: 2.作者项目效果图: 二、商品详情效果图对比 1.联想官方截图: 2.作者项目截图: 三、项目实现 1.数据分离维护 2.首页推荐列表数据处理 3.商品详情数据动态获取完成交互 4.商品详…

MySQL原理探索——20幻读

20 幻读是什么?幻读会造成什么后果? 在上一篇文章最后,遗留了一个关于加锁规则的问题。今天,我们就从这个问题说起。 为了便于说明问题,这篇文章,我们就先使用一个小一点的表。建表和初始化语句如下&#…

【MySQL】MySQL PHP 语法,PHP MySQL 简介,查询,下载 MySQL 数据库, SQL 教程

作者简介: 辭七七,目前大一,正在学习C/C,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: 七七的闲谈 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖&#x1f…

探究Vue源码:mustache模板引擎(4) 了解mustache转换概念,简述tokens转换

上文 探究Vue源码:mustache模板引擎(3) 通过编写简单正则了解mustache转换思路我们用正则表达式构建了一个简易版的render模板编译函数 但是 我们有特意强调过 mustache的render函数并非用简单正则实现的 因为这样无法实现循环和一些比较复杂的逻辑处理 它的实现基理可以参考这…

Ubuntu系统安装JDK教程

今天新买了一台阿里云服务器,因为centos 不提供了更新支持,所以Linux系统选择了Ubuntu 系统,今天就出一期 Ubuntu上安装的一系列教程,今天就先从JDK开始。 Ubuntu系统安装JDK教程 1、 jdk下载2、安装 lrzsz 命令 (仅限…

FreeRTOS_系统内核控制函数

目录 1. 系统内核控制函数预览 2. 系统内核函数详解 2.1 函数 taskYIELD() 2.2 函数 taskENTER_CRITICAL() 2.3 函数 taskEXIT_CRITICAL() 2.4 函数 taskENTER_CRITICAL_FROM_ISR() 2.5 函数 taskEXIT_CRITICAL_FROM_ISR() 2.6 函数 taskDISABLE_INTERRUPTS() 2.7 函数…

1. 数字mic驱动分析

一般遇到的音频硬件都是这样的 由于项目不需要播放只需要录音,于是将模拟的mic换成了数字mic,直接通过i2s连接到soc 由于还要使用alsa架构进行录音,所以这里不能简单的写个代码读i2s数据,需要虚拟出一个codec 上面就是我们这次要分…

第九十六天学习记录:Linux基础:实用操作Ⅰ

注:第一张图与学习记录无关,是为了参与CSDN的AI绘图活动 CtrlC强制停止 1、Linux某些程序的运行,如果想要强制停止它,可以使用快捷键CtrlC中止 2、在命令输入错误时,也可以通过快捷键CtrlC快速退出当前输入 CtrlD…

projection介绍及EPSG:4326和EPSG:3857的投射转换

每个地图数据在Web端加载显示时,都需要设罝其投影坐标系。众所周知,地图是不规则的椭球体,如果我们将其展开到二维平面上,会发现地图与实际情况有出入。所以,人们提出 投影的方式来尽量减小失真的程度。 openlayers的…

技术驱动美丽:动态贴纸与美颜SDK的应用实践与创新

随着科技的迅速发展,智能手机的普及以及社交媒体的兴起,人们对于美颜和创意贴纸的需求日益增长。动态贴纸和美颜技术的应用已经成为当今互联网时代的一种趋势。本文将重点讨论动态贴纸与美颜SDK的应用实践与创新,探讨它们对美容美妆行业和社交…

运维必学 | 变量定义调用-从零开始学Windows批处理(Batch)编程系列教程

欢迎关注「全栈工程师修炼指南」公众号 设为「星标⭐」每天带你 基础入门 到 进阶实践 再到 放弃学习! 专注 企业运维实践、网络安全、系统运维、应用开发、物联网实战、全栈文章 等知识分享 “ 花开堪折直须折,莫待无花空折枝。 ” 作者主页&#xff1…