Axure实战13:创建一个Banner轮播图示例

简介: Axure实战13:创建一个Banner轮播图示例

在本章中,你将学会使用动态面板和交互动作,实现一个Banner轮播图示例。

image.png

项目背景


在目前市场上大部分的App首页中,常常会出现Banner轮播图的身影,它常常作为推广活动的一个展示入口,清晰表达活动主题并吸引用户点击。

Banner轮播图设计的好坏,很大程度决定了能否精准地将设计者的目的传达给用户。

那么本章中,我们就来使用动态面板和交互动作实现一个Banner轮播图示例。

项目搭建


首先,创建一个新项目,命名为Banner。

image.png

页面框架

首先,为了展示的效果,我们还是加上手机壳作为展示的框架。

image.png

页面样式-顶部导航栏


拖入一个“矩形1”组件,命名为“顶部导航栏”。

双击修改内部的文字为“首页”,将它的位置放在手机壳框架顶部位置,设置它的尺寸为375*40。

设置字体字号为14,字体颜色为#333333,矩形填充颜色为#FFFFFF,线段线宽为0。

image.png

以上,我们就完成了顶部导航栏的创建。

页面样式-轮播图


接下来,我们来完成轮播图的样式。

和之前的章节构建GuidePage引导页类似,Banner轮播图也是由几个页面进行循环切换而形成的效果。

image.png

拖入一个“动态面板”组件,命名为“轮播图”。

双击进入内页,新建4个状态,分别命名为1、2、3、4。

设置轮播图动态面板的位置在顶部导航栏下紧挨着,设置尺寸为375*211。

我们在轮播图动态面板的每个状态页面中放入一张图片,作为轮博图展示的内容。

image.png

交互动作-轮播图轮播

下面我们来完成下轮播图的交互,我们希望在页面打开的时候,轮播图“稍等一会儿”,等用户反应过来,然后开始滚动。

在“交互”工具栏中新建交互,选择“载入时”,选择“等待”,设置等待时长为“2000ms”。

再在载入时交互下新建动作,选择“设置面板状态”,目标为“轮播图”动态面板,状态选择“下一项”,勾选向后循环。

进入动画设置“向左滑动+500ms”,退出动画设置“向左滑动+500ms”。


image.png

这样,我们就完成了轮播图的自动轮博效果。

交互动作-轮播图拖动


下面,我们再加入一个交互动作,当我们在拖动图片时,比如向左拖动,轮播图到上一页,向右拖动,轮播图到下一页。

这个交互动作会有一个思维难点,我们的手指拖动轮播图的卡片,向左拖动,其实我们是把当前的拖走,查看“下一张”的内容,而且卡片移走的效果是“向左滑动”。

很多时候,我们是需要看右边的下一张的图片,但设计交互动作时需要和我们物理逻辑相反的动作,这点要注意了。

image.png

我们添加了2个交互动作,一个是“向左拖动结束时”,选择“设置面板状态”,目标为“轮播图”动态面板,状态为“下一项”,勾选“向后循环”,设置动画为“向左滑动+500ms”。

另一个是“向右拖动结束时”,选择“设置面板状态”,目标为“轮播图”动态面板,状态为“上一项”,勾选“向前循环”,设置动画为“向右滑动+500ms”。

以上,我们就实现了轮播图的自动轮博和拖动切换效果,我们可以在浏览器中预览下效果。

image.png

逻辑优化-轮播图轮播


我们在浏览器中预览时发现一个问题。

由于我们使用的是“拖动结束时”的交互,那么我们拖动结束后,系统会不断执行这个动作,无法停止。

也就导致了,如果我们向右拖动,轮播图切换到上一张后,轮播图滚动切换的效果变成了反过来轮播了,这不是我们想要的效果。

这里我们做一个逻辑优化,当我们向右拖动结束时,会展示上一张图片,但此时轮播需要停止,并继续原来的滚动交互。

在“交互”工具栏中,在“向右拖动结束时”的交互下新建交互动作,首先选择“设置面板状态”,目标为“轮播图”,设置为“停止循环”。在新建交互动作,选择“等待”,设置5000ms,再新建交互动作,选择“设置面板状态”,目标为“轮播图”动态面板,状态选择“下一项”,勾选向后循环。进入动画设置“向左滑动+500ms”,退出动画设置“向左滑动+500ms”。


image.png

我们再在浏览器中预览效果,发现问题已经解决了!

页面样式-切换按钮

下一步,我们关闭动态面板,来到框架外面。

拖入两个方向图标(图标可以在网上进行下载),命名为“上一页、下一页”。

调整图标大小为18*18,位于Banner轮播图动态面板上面,距离两侧的间距分别为15,上下居中。

image.png

交互动作-按钮切换


上一页和下一页的交互动作和拖动的动作相同,当我们点击上一页时,轮播图页面切换到上一张,点击下一页时,轮播图切换到下一张。

选中“上一页”按钮,我们在“交互”工具栏中新建交互,选择“单击时”,“选择“设置面板状态”,目标为“轮播图”动态面板,状态为“上一项”,勾选“向前循环”,设置动画为“向右滑动+500ms”。

同样,这里的逻辑也要优化,我们继续在下面新建交互动作,首先选择“设置面板状态”,目标为“轮播图”,设置为“停止循环”。在新建交互动作,选择“等待”,设置5000ms,再新建交互动作,选择“设置面板状态”,目标为“轮播图”动态面板,状态选择“下一项”,勾选向后循环。进入动画设置“向左滑动+500ms”,退出动画设置“向左滑动+500ms”。


image.png


另外,我们完成下一页的交互效果,选中“下一页”按钮,新建交互,选择“单击时”,“选择“设置面板状态”,目标为“轮播图”动态面板,状态为“下一项”,勾选“向后循环”,设置动画为“向左滑动+500ms”。

image.png

我们在浏览器中预览下效果。

image.png

页面样式-页码圆点


我们继续完成样式部分。

拖入一个“圆形”组件,命名为“圆点-1”。

设置尺寸为8*8,位置距离轮播图下边距为20,填充颜色为#CCCCCC。我们再复制3个,命名为“圆点-2”、“圆点-3”、“圆点-4”。

image.png

交互动作-页码圆点


在“交互”工作栏中,给每一个页面圆点都设置一个“单击时”的交互动作,选择“设置选中”,设置为“真”。

在交互样式中,设置“元件选中的样式”,勾选“填充颜色”,设置为#FFFFFF。

并在“选项组”中,给4个页码圆点设置同一个选项组,命名为“页码按钮”。

image.png

以上,我们完成了页码圆点的点击切换。

交互动作-联动交互


接下来,我们需要将轮播图和页码圆点联动起来。

这里要实现2个交互动作,一是在轮播图进行轮播时,页码圆点相对应的要选中对应的圆点。第二个交互是当我们点击页码圆点时,轮播图也要对应切换。

首先我们先完成第一个联动交互。

我们选中轮播图动态面板,设置一个“状态改变时”的交互,用来监控当前面板到底展示哪一个状态页面,然后再根据当前面板处于哪一个页面状态,设置页码圆点相对应选中哪一个。

image.png

同理,我们在点击页码圆点时,也是为每个页码圆点设置点击时的交互动作。

我们在点击时的交互动作下,新增了2个动作,一个是设置面板状态,当我们点击哪一个页码圆点,对应面板就展示哪一个,然后是逻辑优化的部分,防止轮播图反方向循环滚动,之前也说过了。

image.png

完成后,我们在浏览器中预览下效果。

image.png

哈哈哈,效果不错!

为了让这个网站能够公开访问,我们可以生成html文件,然后发布到gitHub或者gitee中,这样就可以将网站分享给朋友们了。

网站地址


Banner轮播图: ricardowesley.gitee.io/banner

快来动手试试吧!



相关文章
|
18天前
|
小程序 JavaScript
【微信小程序】之自定义三宫格一行展示row-grid(简单数据看板)
【微信小程序】之自定义三宫格一行展示row-grid(简单数据看板)
|
18天前
|
小程序 JavaScript
【微信小程序】之自定义九宫格展示row-grid(每行显示三个)
【微信小程序】之自定义九宫格展示row-grid(每行显示三个)
uniapp轮播带查看大图效果demo示例、带数字的轮播(整理)
uniapp轮播带查看大图效果demo示例、带数字的轮播(整理)
|
7天前
|
前端开发 小程序
uniapp 将标题背景更换背景图片 完美解决(附加源码+实现效果图)
uniapp 将标题背景更换背景图片 完美解决(附加源码+实现效果图)
17 0
uniapp设置背景图效果demo(整理)
uniapp设置背景图效果demo(整理)
jq点击导航页面滑动到对应内容demo效果示例(整理)
jq点击导航页面滑动到对应内容demo效果示例(整理)
移动端可拖拽效果demo效果示例(整理)
移动端可拖拽效果demo效果示例(整理)
|
7月前
|
JavaScript
文字、图片左右无缝滚动效果--支持拖拽js效果demo效果示例(整理)
文字、图片左右无缝滚动效果--支持拖拽js效果demo效果示例(整理)
|
9月前
element组件库使用笔记---上传图片+回显+预览1.0
element组件库使用笔记---上传图片+回显+预览1.0
38 0
|
JSON 小程序 数据格式
微信小程序动态修改页面标题title
微信小程序动态修改页面标题title
1495 0
微信小程序动态修改页面标题title

相关实验场景

更多