Axure实战09:创建一个NavigationPage导航页网站

简介: Axure实战09:创建一个NavigationPage导航页网站

image.png

在本章中,你将学会使用中继器和交互动作创建一个NavigationPage导航页网站。

需求背景


在日常工作过程中,我们常常会需要访问很多网站,查找资料、浏览资讯……用的多的,就产生了一批需要经常使用的网站。而对于这些网站,我们可能会使用浏览器的书签功能,将它们聚合在一起。

但有些时候,书签多了也就不太好找了,网上其他其他的导航使用起来也不太顺手。

那么,我们能不能自己搭建一个专属于个人的导航页呢?

说干就干!

项目创建


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

image.png

基础样式-顶部导航栏


首先,我们给整个页面背景加个填充颜色。

我们在“样式”工具栏中设置背景颜色为#F5F7FD。

image.png

我们来完成下顶部导航栏的设计。

拖入一个“动态面板”组件,命名为“顶栏”。

设置动态面板的位置为(0,0),大小为1366*768,勾选“100%宽度”,设置填充颜色为#1890FF。

image.png

然后我们加个标题。

拖入一个“三级标题”组件,命名为“标题”。

设置它的位置在“顶栏”动态面板上面,且和“顶栏”动态面板上下居中,距离左右100,设置字体大小为17,字体颜色为#FFFFFF。

image.png

这样,我们就完成了顶部导航栏的基础样式。


基础样式-导航卡片


下面,我们制作下单张导航卡片。

拖入一个“矩形1”组件,命名为“导航卡片”。

设置位置为(40,100),卡片尺寸为150*150,内部文字大小为14,字体设置为“透明”,卡片边框线段宽度设置为0,卡片圆角设置为8。

这里说明下为什么导航卡片内的文字要变成透明色,这是因为之后我们需要导航卡片中展示url链接地址的文字,点击的时候按照导航卡片的文字进行打开新的标签页,这在后面会说明使用方法。

image.png

拖入一个“矩形2”组件,命名为“logo背景”。

设置logo背景的尺寸为60*40,它的位置在导航卡片中间,距离上方30,下方60,左右居中,设置圆角为8。

这块是为了让我们加载logo图片时,保持展示样式的统一性。

image.png

拖入一个“图片”组件,命名为“image”。

设置尺寸为46*46,位于logo背景上下左右都居中的位置。

这块我们用来展示logo图片。

image.png

拖入一个“文本标签”组件,命名为“name”。

设置它的位置为导航卡片下边距离为25,左右居中,字体排布位置为上下左右居中展示。

这一块,我们用来展示卡片名称。

image.png

以上,单张卡片我们就准备好了。


基础样式-中继器


下面我们要循环遍历这个卡片。

先全选整个卡片,点击组合,把整个卡片变成一个整体,将组合命名为“单张卡片”。

image.png

然后拖入一个“中继器”组件,删除里面的示例矩形,把“单张卡片”剪切粘贴进入。

记得中继器内的“单张卡片”组合,位置一定要设置为(0,0),这是中继器展示位置的起始位置。

image.png

点击中继器空白区域,在“交互”工具栏中,设置交互动作。

选择“每项加载”时,选择“设置文本”,目标为“导航卡片”,设置文本值为“[[item.url]]”。

在下面继续添加动作,选择“设置图片”,目标为“image”,设置为“值”,设置为“[[item.image]]”。

在下面继续添加动作,选择“设置文本”,目标为“name”,设置文本值为“[[item.name]]”。

image.png

这样我们就设置好了中继器的交互动作,并创建了关联。

下面我们赋予数据。

在“样式”栏中,在中继器数据中,修改表头名称分别为“name”、“image”、“url”。

我们分别给这三个参数赋值,注意的是“image”列,我们是右键选择导入的方式导入图片。

image.png

关闭中继器,看看效果。

我们已经得到了想要的数据展示效果。

但这里我们发现一个问题,中继器排布方式为纵向排布。

image.png

这时我们还需要调整中继器的排布方式。

选中中继器,设置它遍历卡片的间距的行间距和列间距为20,布局设置为“水平”,勾选“网格排布”,设置每行项的数量为7。

网格排布的作用是在水平排布时,限制每行最多展示多少张卡片。

image.png

自此,我们就完成了卡片导航的基础样式的绘制。

交互动作-打开新标签页

下面,我们来完成点击对应的导航卡片,浏览器对应打开相关的网站。

双击“中继器”进入内页,选中“单张卡片”组合。在“交互”工具栏中,点击“新建交互”,选择“单击时”,选择“打开链接”,选择“链接到URL或文件路径”,设置地址为“http://[[]item.url]]”,选择“更多选项”,选择打开在“新窗口/新标签”。

我们如此设置打开地址,系统就会根据我们实际点击的那一个卡片,找到中继器数据中对应的url,打开对应的网站。


image.png

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

我们发现,已经实现了点击对应的导航卡片,打开对应的网站的交互动作啦!

image.png

交互动作-卡片移动


下面,我们再优化下交互效果。

为了能够让用户知道我们鼠标选择的是哪一个导航卡片,我们加一个移动的交互效果。

交互逻辑为:鼠标移到卡片时,卡片向上移动一点位置,鼠标移出卡片时,卡片回到初始位置。

image.png

我们在“交互”工具栏中,点击“新建交互”,选择“鼠标移入时”,选择目标为“单张卡片”组合,移动方式为“到达”,位置为([[This.x]][[This.y-10]]),动画设置为“线性”,时长为200毫秒。

还是在“交互”工具栏中,点击“新建交互”,选择“鼠标移出时”,选择目标为“单张卡片”组合,移动方式为“到达”,位置为([[This.x]][[This.y+10]]),动画设置为“线性”,时长为200毫秒。

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

我们输入移入时,卡片向上移动了10,鼠标移出时,卡片回到了原点。

image.png

交互动作-选中效果


下面我们再完善下交互效果。

上面我们完成了通过卡片移动来告知用户当前选中的是哪一个卡片,这还不够直观。

我们再加一个交互效果,当我们移入时,导航卡片加个填充颜色,表示我们鼠标移动到了这个位置,这样的效果更佳。

这里,我们可以使用“选中状态”来作为中间件。

image.png

我们在鼠标移入时和鼠标移出时,增加了一个交互动作,为“设置选中”。

当鼠标移入时,“单张卡片”设置值为“真”,鼠标移出时,“单张卡片”设置值为“假”。

然后我们选中“导航卡片”,请注意,这里选中的是那张白色卡片,而不是整个组合。在“交互”工具栏中,设置“交互样式”,选择“元件选中的样式”,勾选“填充颜色”,设置颜色为#7F7F7F,设置透明度为20%。


image.png

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

image.png

恭喜你,完成了整个项目的创建!

当然你还可以按照以上的方式创建多几个中继器,再加上分组标题,达到以下的效果。

image.png

哈哈哈,效果不错!

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


网站地址


产品导航页:ricardowesley.gitee.io/pmgoo

快来动手试试吧!

相关文章
|
4月前
|
小程序 JavaScript
【微信小程序】之顶部选项卡自定义tabs(不用mp-tabs扩展组件,太难用了)
【微信小程序】之顶部选项卡自定义tabs(不用mp-tabs扩展组件,太难用了)
uniapp设置tabBar跳转后,其他页面跳转到主页、主页参数、接参(整理)
uniapp设置tabBar跳转后,其他页面跳转到主页、主页参数、接参(整理)
jq点击导航页面滑动到对应内容demo效果示例(整理)
jq点击导航页面滑动到对应内容demo效果示例(整理)
|
JSON 小程序 JavaScript
走进小程序【四】小程序自定义Component如何使用,手把手封装一个底部Tabbar栏
走进小程序【四】小程序自定义Component如何使用,手把手封装一个底部Tabbar栏
195 0
走进小程序【四】小程序自定义Component如何使用,手把手封装一个底部Tabbar栏
Typecho-handsome主题如何增加侧边导航栏
handsome主题在使用的过程中导航栏初始时只有首页一个导航页面,本篇文章主要讲解一下应该如何修改源代码增加多个导航栏并且为其设置子导航
255 1
Typecho-handsome主题如何增加侧边导航栏
|
移动开发 weex-ui weex
weex-ui之wxc-tab-page 顶部标签页踩坑记
weex-ui之wxc-tab-page 顶部标签页踩坑记
115 0
|
API iOS开发
SwiftUI 中的自定义导航
默认情况下,SwiftUI提供的各种导航API在很大程度上是以用户直接输入为中心的——也就是说,导航是在系统响应例如按钮的点击和标签切换等事件时由系统本身处理的。
261 0
SwiftUI 中的自定义导航
|
中间件 iOS开发
Axure实战12:创建一个GuidePage引导页示例
Axure实战12:创建一个GuidePage引导页示例
321 0
Axure实战12:创建一个GuidePage引导页示例
|
小程序 开发者
【mpvue】微信小程序返回到tab页面并刷新页面,在微信开发者工具运行正常,但是真机调试的时候跳转到了tab页面但不会刷新。getCurrentPages()获取的不是当前页面
1、问题描述 在「添加基金页面pages/addfund/main」添加完基金后,点击取消,会需要跳转到「基金页面pages/index/main」并且刷新出刚刚添加的基金 现在的问题是: 在微信开发者工具中操作时:添加完基金后,会跳转到「基金页面pages/index/main」并且刷新出刚刚添加的基金 在真机调试、预览时:在手机上操作添加完基金后,会跳转到「基金页面pages/index/main」但是不会自动刷新出刚刚添加的基金
416 0
【mpvue】微信小程序返回到tab页面并刷新页面,在微信开发者工具运行正常,但是真机调试的时候跳转到了tab页面但不会刷新。getCurrentPages()获取的不是当前页面
SwiftUI—如何使用NavigationLink进行页面间的跳转
SwiftUI—如何使用NavigationLink进行页面间的跳转
3231 0
SwiftUI—如何使用NavigationLink进行页面间的跳转