Axure制作一个滑动验证组件

news2024/11/19 21:22:49

一、案例效果

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/691553.html

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

相关文章

射频功率放大器——如何选择合适的射频功率放大器

射频功率放大器是一种用于增强射频信号的电子设备。在选择合适的射频功率放大器时,需要考虑多个因素,包括应用场景、频率范围、增益、带宽、噪声等。下面是一些关于如何选择合适的射频功率放大器的基本步骤: 1、确定应用场景和需求&#xff1…

CANoe使用记录(五):CANoe 如何调用诊断功能/ZCANPRO的诊断功能

目录 1、概述 2、Canoe调用诊断服务 2.1、查看是否存在license 2.2、新建工程步骤分解 3、ZCANPRO的诊断功能 1、概述 有那么一部分时候,需要通过Canoe来实现简单的诊断服务,当然大部分时候通过Canoe进行测试需要通过CAPL脚本实现复杂的UDS诊断服务。…

Unity WebAR插件记录

1.Imagine WebAR - World Tracker(Unity商店) 使用此插件为Web浏览器创建增强现实体验。借助出色的6DOF跟踪功能,将游戏对象固定在地板或任何表面上。支持所有主流的手机浏览器。 2.Imagine WebAR - Image Tracker(Unity商店&…

JavaScript ES8新特性

文章目录 导文异步函数(Async/Await):Object.getOwnPropertyDescriptors()方法:字符串填充方法(String padding):共享内存与原子操作(Shared Memory and Atomics)&#x…

基于原生 js 实现今日新闻网站

完整资料进入【数字空间】查看——baidu搜索"writebug" 一、今日新闻网站设计报告 1.1 1 设计思路 该网站设计大部分都是基于原生 js 实现。基本思想为首先将基本的页面架构包括 header,导航条写好。之后根据后台 PHP 请求接口请求返回 JSON 格式数据后…

【Java核心技术】Java基本语法

Java基本语法 1、关键字与保留字关键字的定义和特点保留字的定义 2、标识符标识符的定义定义合法标识符规则Java中的名称命名规范 3、变量变量的概念变量的作用使用变量注意变量的分类整数变量:byte、short、int、long浮点类型:float、double字符类型&am…

Vue组件间通信的几种方式

Vue组件间通信的几种方式 0、前言1、props/$emit(父子)2、ref / $refs(父子)3、provide / inject(深度父子)4、EventBus 事件总线 (任意两个组件通讯)5、$attrs / $listener&#xf…

逻辑回归(Logistics Regression)的原理及实现

1.逻辑回归(Logistics Regression)的原理及实现 笔记来源于《白话机器学习的数学》 逻辑回归用于解决二分类问题 1.1 逻辑回归的原理 1.1.1 Sigmoid函数 sigmoid函数在神经网络中如何起作用?详见本人笔记:机器学习和AI底层逻辑 …

Spreadjs 16.1.3 + GcExcel 6.1.2 操作EXCEL好轻松-Crack

全球销量第一的 JavaScript 电子表格,包含 500 多个 Excel 函数 快速提供真正类似 Excel 的电子表格体验 - 对 Excel 零依赖。创建金融应用程序,仪表板,图表,数据透视表,性能基准,科学实验室笔记本,以及其他类似的 JavaScript 电子表格应用程…

Spring拦截器实现鉴权

什么是拦截器? 拦截器(Interceptor)类似于Servlet中的过滤器,主要用于拦截用户请求并做出相应的处理,例如拦截器可以进行权限验证、记录请求信息的日志、判断用户是否登录等。拦截器允许自定义预处理(Pre-Processing)…

Axure教程——滑屏效果

本文介绍用Axure来做一个移动端引导页的滑屏效果。 效果预览 预览地址:https://dsn3d3.axshare.com 制作元件 1、所需元件 矩形 动态面板 2、制作过程 拖入一个动态面板元件,命名为“”切换,大小设置为375667,如图: …

租房小程序源码推荐,让你的租房平台更有竞争力

为租房平台的从业者,你是否也曾为如何提高平台的竞争力而苦恼?租房小程序源码或许是一个不错的选择。 租房小程序源码是一种可以让你快速搭建一个专属的租房平台的工具,可以帮助你快速上线一个符合市场需求的租房平台。相较于从头开始开发一…

关于项目初期,数据量小的内容推荐的实现方法

前言 当下,只要是一个初具规模的内容应用都具备个性化推荐系统。比如购物类的会有推荐商品模块,搜索条下有个性化的搜索关键词或词条补全词,社交类的有博主推荐,视频或文章推荐等等。这些功能除了要有庞大的数据量,还要…

如何使用《水经注地图服务》快速发布TIF数据

《水经注地图服务》的快速发布功能是一个能够帮助用户实现快速发布地图服务的功能,并且提供常规情况下大多数用户所需的默认配置,让用户在发布地图时更加便捷。 今天为大家分享如何使用《水经注地图服务》快速发布TIF地图数据。 准备工作 离线示例数据…

navicat导入sql数据流程Database Navigator插件操作数据库

导入数据库流程: 选中localhost_3306,新建数据库 ->输入数据库名community ->选中community,新建查询 ->输入(粘贴)数据信息即可 Database Navigator插件操作数据库 IDEA插件系列(6&#xff…

小研究 - Java 指针分析综述(一)

近年来静态程序分析已成为保障软件可靠性、安全性和高效性的关键技术之一. 指针分析作为基 础程序分析技术为静态程序分析提供关于程序的一系列基础信息,例如程序任意变量的指向关系、变量 间的别名关系、程序调用图、堆对象的可达性等. 介绍了 Java 指针分析的重要…

手撕code(3)

文章目录 迷宫最短路径和输出深度优先广度优先 48 旋转矩阵图像大数加减法146 LRU 缓存算法460 LFU 缓存算法 迷宫最短路径和输出 给定一个 n m 的二维整数数组,用来表示一个迷宫,数组中只包含 0 或 1 ,其中 0 表示可以走的路,1…

MIT 6.S081 教材第六章内容 -- 锁 --上

MIT 6.S081 教材第六章内容 -- 锁 -- 上 引言锁竞态条件代码:使用锁死锁和锁排序锁和中断处理函数指令和内存访问排序睡眠锁真实世界思考 引言 MIT 6.S081 2020 操作系统 本文为MIT 6.S081课程第六章教材内容翻译加整理。 本课程前置知识主要涉及: C语言(建议阅读…

Java多线程——生命周期、并发、临界资源问题

目录 进程是什么? 线程是什么? 那这样做(同时运行)有什么优点呢?(为什么要有多线程?) 那什么时候需要使用多线程? 那线程和进程的关系是什么? 那线程和…

echarts的基础知识和配置项

异步数据加载和更新 ECharts 中在异步更新数据的时候需要通过series的name属性对应到相应的系列,如果没有name,series就会根据数组的顺序索引,把数据跟前面的配置对应上 loading动画 如果数据加载时间较长,一个空的坐标轴放在画…