童话说说技术创业美文职业
投稿投诉
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

Axure教程:用中继器和日期函数实现万年历

3月19日 孤行者投稿
  对于万年历的概念,大家已经非常熟悉了,尤其临近节假日的时候,我们会习惯去查看日历上的放假安排,但是经常觉得很坑爹啊有木有,不过这是题外话了。今天这个案例就和万年历有关,教大家使用“中继器”和“日期函数”来实现一个万年历的原型,不过这原型可不是死的哦,是可以真真正正显示万年日期的万年历。
  原型预览:
  原型说明:万年历原型在初始化的时候可以自动显示当前日期,并锁定当天(Today),通过“上一年”“上一月”“下一月”“下一年”操作,可显示对应年份及月份的日历,“返回今天”可返回当前月份日历及锁定当天(Today)。
  学习重点
  通过本案例,我们主要来练习中继器和日期函数的使用,中继器用于显示日历的天,日期函数则用于处理日历的显示逻辑。其中使用到的日期函数将包括:Now获取当前日期、getDate()获取天、getDay()获取一周中的第几天、addDays()增加减少天、addMonths()增加减少月、addYears()增加减少年。
  原理说明
  首先我用一个76的矩阵(中继器)来显示日期,至于为什么是76而不是75,大家仔细观察一下日历就可以发现了,75有时候是不能将一整月的日期显示全的。接下来我就是要把日期显示到对应的矩阵单元上,下面我用一个图来表示:
  上图是一个日历的大概的样子,比如今天是2017年1月17日,那么17应该显示在上图42个方格中的哪个格子里呢?这个我暂时是不知道的。
  但是如果是2017年1月1日呢?这下我就知道了,2017年1月1日肯定显示在矩阵格子的第一行(17的一个位置,绝对不会显示到8那个位置),那么到底是第几个位置呢?我也不知道。
  但是我可以借助一个函数getDay()来得到2017年1月1日对应的是一周的第几天(周日是第0天,周六是第6天,以此类推,正如上图中getDay()后面标记的一行数字),这时候我就可以发现一个规律,getDay()那一行数字正好比42矩阵中的第一行的右下角的数字(这个我们会用中继器中的Item。Index来获取)少1,紧接着2017年1月1日getDay()1的位置就是要显示的位置(比如上图黄圈1的位置,这里我用startindex来表示)。
  接着我就可以用这个黄圈1以及它所处的位置,计算出整个42矩阵中其他位置的日期是多少。我么拿黄圈11来举例子说明。黄圈11的位置我们是可以得到的(中继器中的Item。Index),黄圈1的位置我们刚才也知道了是startindex,那么黄圈11的Item。Indexstartindex的差值是不是就等于黄圈11的日期黄圈1的日期呢?答案当然是肯定的(用上图的例子就知道:17711110),然后我们利用这个差值,在黄圈1代表的日期加上刚才计算的差值就会得到黄圈11的日期。其他位置的日期以此类推。
  好了,这就是大概的原理,接下来我们看具体是如何实现的。
  实现步骤
  实现当前月份的日历显示
  前面已经讲到了,要用到中继器,所以先从最基本的开始,我们要用中继器构建出整个日期的框架,这里中继器只用于显示对应的日期。
  另外在整个案例中我们还用到2个全局变量:DateNow(用来表示当前日历显示的日期),DateNow1(用来表示当前日历显示的对应月份的1日,比如2017年1月1日),DateNow1Index(用来表示DateNow1在中其中所处的位置)。
  然后我们给当前页面的“页面加载时(OnPageLoad)”添加如下事件:
  接着要设置中继器中的矩形把日期显示出来,给中继器的“(项目加载时)OnItemLoad”添加如下事件:
  其中的Case1、Case2、Case3还实现了其他效果,比如设置当前日期为选中状态、设置非当月日期的颜色为灰色等等。值得一提的是,函数中的所有涉及日期的,我都使用的之前创建好的3个全局变量,这样做是为了为后面的功能实现做基础。
  好了,到这里就可以实现当月日期的显示了,接下来我们实现上月、下月、上年、下年日历的显示。
  上月、下月、上年、下年日期显示
  实现上月、下月、上年、下年的基本思路则是改变全局变量DateNow,DateNow1,DateNow1Index的值。在页面初始化的时候,这三个变量就被根据当前日期赋了值,因此要实现上月、下月、上年、下年,就只对DateNow和DateNow1做addDays(),addMonths(),addYears()操作即可,然后其他的显示逻辑一概不变。
  我们可以随意使用部件来达到切换年度和月度的效果,比如用矩形框,但我的案例中使用的是表格,便于排版而已。
  我给“上一月”添加“点击时(Onclick)”事件,其实对于“下一月”也是完全相同的事件,只是把其中的addMonths(1)改成了1,因为上一月要1,下一月就要1嘛。
  而对于“上一年”和“下一年”,也是相似的套路,只不过addMonths()函数变成了addYears(),其他一点没变。
  好了,到这里真个原型就实现的差不多了,其他一些个性化的东西可以根据你自己的想法去创作。
  总结
  其实这个案例更多的是掌握日期函数的用法,这个原型的灵感并不来源于万年历,而是在我学习日期函数的时候突发奇想,想如何能把日期函数通过一个完整有趣的原型学习和应用起来,于是就有个这个案例。虽然这其中也涉及到了中继器,但也仅仅用到了中继器的布局和获取Index值。
  文中的实现步骤并不十分详细,其实更多的是给小伙伴们提供一种思路,更多的还是需要自己的思考和尝试。
投诉 评论 转载

Axure7。0实例:利用Axure制作放大镜原型工欲善其事,必先利其器。作者分享了自己做放大镜原型的过程,希望给大家带来一些参考。我是刚应聘产品助理的实习生,本身是学开发的,由于兴趣爱好,选择从事产品行业,工欲善其事,……Axure实例:创建浏览器顶部固定菜单及子菜单文章分享了一个运用Axure创建浏览器顶部固定菜单及子菜单的例子,和各位PM分享,希望能帮到一些需要的朋友。在下是个axure新手,要用axure实现下面一个功能:……Axure原型教程:利用Axure制作剪刀石头布小游戏文章分享了如何利用Axure制作剪刀石头布的小游戏,与大家分享,相信大家一定会有所收获。教你用Axure做个剪刀石头布的小游戏。先睹为快:【点我预览】教程开始……Axure8。0教程:制作一个带有tab选项栏的滚动区大家好,这一次所要分享实现的效果就是:纵向滑动移动端屏幕,内容向上滚动直至tab选项栏到达顶部时,tab选项栏固定在顶部,而tab选项栏下内容继续滚动。由于这里使用了上一篇文章……Axure8。0实例:复选框的应用很多业务系统之中都会有以列表的形式展现数据的情况,那么问题来了,对列表选择时会出现多选、全选、反选的问题,今天就来叨一叨如何使用axure原型工具实现复选框的多选、全选和反选。……Axure教程:12306图片验证码的实现(随机可验证)网上关于12306图片验证码的吐槽已经是铺天盖地,当然,现在的12306图片验证码已经不像以前那么变态了。不过鹏哥心里一直有个心结,纵使它如何变态,我都想用Axure把它画出来……在全球化流程中,如何给原型设计加分?全球化是一种不可抵挡的潮流。信息技术行业随着全球化的发展不断的状大,软件开发现在也越来越显示出全球化的趋势。前有TubikStudio这种设计公司,后有Dribbble、……Axure干货制作移动APP端的左侧滑菜单原型工具有多种,为何我确对Axure情有独钟?看了你就明白他的强大。本文重点是自己制作经验分享,视觉元素是次要(自己搞的界面,欢迎UI同学提上你的宝贵意见)。本次教程分享……Axure教程:可使用的计算器demo制作(下)上篇文章《Axure教程:可使用的计算器demo制作(上)》,讲完了数字键0、19以及其他几个键的事件设置,这篇文章补充讲完键、键的事件写法,完成整个计算器demo的制作,建议……如何在AxureRP8中规范使用FontAwesome图标库今天简单分享一下在AxureRP8中如何使用FontAwesome图标库完成设计。在做交互设计的时候,作为产品设计师我们常常需要用一些标准的图标库,通过导入现成的图标可以……Axure教程:用中继器和日期函数实现万年历对于万年历的概念,大家已经非常熟悉了,尤其临近节假日的时候,我们会习惯去查看日历上的放假安排,但是经常觉得很坑爹啊有木有,不过这是题外话了。今天这个案例就和万年历有关,教大家使……Axure教程:多账户的登录验证登录注册是一个系统的门户,做好登录注册是第一步。对于尚未接触学习中继器组件的小伙伴,可通过使用全局变量实现多账户的登录验证与注册。话不多说,下手来干~关系组件……
Top1的产品经理跟Top10的有何区别周鸿祎:两个关键词解读互联网思维产品团队工作秘籍三:如何与工程师一起工作?重估一切价值以及超越生命思考方法如何给自己定位创业只有好点子远远不够,重要的是如何付诸实践写一篇产品体验报告需从哪些方面入手?身处产品部我们是谁新任产品经理在新项目前30天的工作方法主流音乐app各自的优势是什么好的产品经理,差的产品经理产品经理新名词:互联网产品的逼格
重庆文科状元何川洋,高考659分却被北大拒绝,父母:是我错了 好文:驱寒的食物有哪些冬季驱寒吃什么食物热闻聚热点网 父母打骂孩子怎么应对父母打骂孩子如何改变重达造句用重达造句大全2021牛年正月十五元宵节祝福语大全幼儿园大班教学总结精选多篇直通车常见误区和解决方法叫醒梦游的人竟然会有这后果(图)新闻编辑年终工作总结赤豆薏米茯苓粥的做法2020家长会班主任发言稿三篇42岁阿姨倒追25岁健身教练,不顾反对结婚生子,二人现在怎样

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界