在本章中,你将学会使用局部变量和函数创建一个BMI身体质量指数查询网站。

Axure实战08:创建一个BMI身体质量指数查询网站_局部变量

身体质量指数,BMI(Body Mass Index)指数,简称体质指数,是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。

我们在健身时也常用BMI来判断我们当前需要减脂还是增重。

那么本章,我们就来学习下如何创建一个BMI身体质量指数查询网站。

项目创建

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

Axure实战08:创建一个BMI身体质量指数查询网站_Axure_02

基础样式-计算页

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

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

Axure实战08:创建一个BMI身体质量指数查询网站_Axure_03

拖入一个“矩形1”组件,在“样式”工具栏中设置尺寸为400*500。

设置线段的线宽为0,圆角设置为8。

这样我们就得到了一个背景卡片。

Axure实战08:创建一个BMI身体质量指数查询网站_动态面板_04

拖入两个“文本标签”,更改文本标签的文字分别为“身高:”、“体重:”。

为保持美观,“身高”文本位于左上角,间距为(40,40),“体重”文本位于“身高”文本下方,距离卡片间距为(40,90),也就是距离“身高”文本30的位置。

Axure实战08:创建一个BMI身体质量指数查询网站_局部变量_05

拖入两个“文本框”组件,分别命名为“身高”、“体重”。

在“样式”工具栏中,设置都尺寸为200*30,文本字号设置为12,线段颜色调整为#E6E6E6,圆角度数调整为8,边距左边距设置为10。

Axure实战08:创建一个BMI身体质量指数查询网站_Axure_06

然后在“交互”工具栏中,分别设置它们的提示文本为“示例:185”、“示例:60”,隐藏提示条件为“获取焦点”。

同时,还需要设置用户正在输入的效果,在“交互样式”中,选择“鼠标悬停的样式”,选择“更多样式选项”,设置“线段颜色”为#1890FF。

Axure实战08:创建一个BMI身体质量指数查询网站_Axure_07

我们复制身高和体重的文本,把复制的内容移动至输入框右边,作为单位的文本。

这样就完成了输入框的内容。

Axure实战08:创建一个BMI身体质量指数查询网站_工具栏_08

下面我们继续完成按钮的绘制。

拖入一个“主要按钮”,修改文字为“一键查询”。

位置为距离“体重”输入框下30的位置,尺寸为200*30,内部文字字号为12,整个按钮的填充颜色为#1890FF,圆角度数为4。

Axure实战08:创建一个BMI身体质量指数查询网站_局部变量_09

拖入一个“水平线”组件,距离按钮的位置为30。

设置尺寸为400*1,线段颜色为#E6E6E6。

Axure实战08:创建一个BMI身体质量指数查询网站_Axure_10

拖入一个“文本段落”组件,修改内部文字为:身体质量指数,是BMI(Body Mass Index)指数,简称体质指数,是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。

设置它距离分割线和左右间距都为20,字号设置为12。

Axure实战08:创建一个BMI身体质量指数查询网站_动态面板_11

拖入一个“表格”组件,表格框架为5行2列。

整个表格距离上面的说明文字为30,单个表格尺寸为180*30。

选中整个表格,设置字体字号为12,表格线段填充颜色为#E6E6E6。

为区分表头和内容,选中第1行的1、2列,设置填充颜色为#A7D2F9。

Axure实战08:创建一个BMI身体质量指数查询网站_产品经理_12

以上,第一个页面已经搭建完成。

基础样式-结果页

下面,我们来实现结果页面的搭建。

我们选中说明文字和表格,右键,选择“转换为动态面板”。

Axure实战08:创建一个BMI身体质量指数查询网站_Axure_13

双击动态面板进入内页。

点击“添加状态”,这样我们就得到了两个状态,并双击修改第一个状态为“计算前”,第二个状态为“计算后”。

Axure实战08:创建一个BMI身体质量指数查询网站_动态面板_14

我们选择“计算后”的状态。

拖入一个“三级标题”组件,修改文本文字为“计算结果”,并命名为“计算结果”。

设置文字字号为18号,排布方式为左右居中和上下居中,这样在结果文字变化时,仍然能保持在中间的位置。

Axure实战08:创建一个BMI身体质量指数查询网站_工具栏_15

拖入一个“文本段落”组件,距离“计算结果”文本间距为20,设置内部文字为“经检验,您的BMI结果为:偏瘦”。

设置文本段落组件的名称为“BMI结果”,设置字号为12号字,排布方式为左右居中。

Axure实战08:创建一个BMI身体质量指数查询网站_工具栏_16

拖入一个“文本标签”组件,设置文字为“BMI = 体重 / (身高)^2 ”。

设置字号为12号字,文字颜色为#AAAAAA。

Axure实战08:创建一个BMI身体质量指数查询网站_动态面板_17

以上,我们已经完成了所有页面的搭建,下面我们来实现BMI计算器的功能。

交互动作-页面切换

首先,我们需要点击“一键查询”按钮时,下面动态面板的内容从说明页面切换到结果页面。

我们给“一键查询”按钮增加交互动作,选中按钮,在右侧“交互”工具栏中选择“新建交互”,选择“单击时”,选择“设置面板状态”,目标为“动态面板”,设置状态为“计算后”。

Axure实战08:创建一个BMI身体质量指数查询网站_局部变量_18

这样,我们就实现了从计算前的状态切换到计算后的状态。

交互动作-结果计算

我们还需要有计算结果更新,我们可以使用动态面板状态切换动作来实现。

我们选中动态面板,在“交互”工具栏中,选择“新建交互”,选择“状态改变时”,选择“设置文本”,选择目标为“计算结果”,设置为“文本”。

值为:​​[[(LVAR1/((LVAR2/100)*(LVAR2/100))).toFixed(1)]]​​。

Axure实战08:创建一个BMI身体质量指数查询网站_Axure_19

科普一个知识点。

这里我们引用了函数和局部变量,我们的BMI计算的数学公式为:​​体重(公斤)/身高(米)^2​​。

Axure实战08:创建一个BMI身体质量指数查询网站_Axure_20

这里我们添加了2个局部变量:

LVAR1,获得的值为“元件文字”,来源于“体重”输入框。

LVAR2,获得的值为“元件文字”,来源于“身高”输入框。

我们“计算结果”的文本文字就为:​​体重LVAR1/(身高LVAR2*100)*(身高LVAR2*100)​​。

LVAR2身高*100是因为我们身高使用的单位是厘米,那么需要换成单位米。

保留小数位,我们用到了​​.toFixed(2)​​函数,保留2位小数。

赋值的方式这里就不多说了,Axure统一使用​​[[]]​​进行公式计算。

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

Axure实战08:创建一个BMI身体质量指数查询网站_Axure_21

现在,我们已经可以计算BMI的值了,但也发现了一个问题,我们计算后不能返回重新计算,这就意味着我们只能用一次。

这不是我们想要的效果。

交互动作-逻辑优化

我们思考一下,当用户点击“一键查询”时,我们给出结果,那么在结果面,我们“一键查询”就需要变成“重新计算”。

我们选中“一键查询”按钮,右键,选择“转换为动态面板”。

Axure实战08:创建一个BMI身体质量指数查询网站_局部变量_22

双击进入内页,我们给这个按钮也添加一个状态“计算后”。

我们将“计算前”的按钮复制过来,修改样式,按钮内容修改为“重新计算”。

在“样式”工具栏中,文本字体颜色为#AAAAAA,边框线段宽度为1,线段颜色为#E6E6E6。

最后再加入“交互”工具栏中,将交互改为点击时,动态面板切换到“计算前”。

Axure实战08:创建一个BMI身体质量指数查询网站_Axure_23

在这里别忘了,我们是设置的是点击按钮,下面“结果”页的动态面板发生切换。

但按钮本身也是变成动态面板,我们还需要加一个交互给按钮的两个面板状态。

Axure实战08:创建一个BMI身体质量指数查询网站_产品经理_24

我们给两个动态面板命名,这样更直观看到我们给动态面板添加的交互效果。

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

Axure实战08:创建一个BMI身体质量指数查询网站_动态面板_25

交互动作-检测结果

最后,我们还需要设置下BMI计算结果的判断。

当我们计算出来的BMI结果<18.40时,BMI检验我们是偏瘦。

这里我们需要新建一个全局变量来存储计算结果的值,在系统顶部导航栏,选择“项目”,选择“全局变量”,新建一个变量名称为bmi的变量,默认值为0。

Axure实战08:创建一个BMI身体质量指数查询网站_Axure_26

下面我们来实现赋值。

选中“结果页”的动态面板,在“状态改变时”的交互下新增动作,选择“设置变量值”,目标为“bmi”,设置值为“LVAR3”。

同理,LVAR3是我们设置的局部变量,来源于“计算结果”文本。

Axure实战08:创建一个BMI身体质量指数查询网站_局部变量_27

至此,我们已经通过局部变量和全局变量获得了bmi的值了。

接下来,我们来判断一下检测结果。

我们引用“查询”按钮的动态面板变换作为中间件。

Axure实战08:创建一个BMI身体质量指数查询网站_工具栏_28

我们选中“查询按钮”的动态面板,在“交互”工具栏中“新建交互”,选择“状态改变时”,选择“设置文本”,目标为“BMI结果”文字,设置值为“经检测,您的BMI结果为: 偏瘦”。

同时在“状态改变时”右上角添加情形,设置两个情形:

变量值bmi>0,且变量值bmi<18.40。

同理,我们再加几个情形,并修改目标“BMI结果”文字的设置值。

Axure实战08:创建一个BMI身体质量指数查询网站_产品经理_29

我们在浏览器中运行下效果。

Axure实战08:创建一个BMI身体质量指数查询网站_工具栏_30

哈哈哈,效果不错!

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

网站地址

BMI计算器:ricardowesley.gitee.io/bmi

快来动手试试吧!

如果本专栏对你有帮助,不妨点赞、评论、关注~