AXURE日历插件制作

合集下载

Axure原型设计中的模拟用户日历与日程安排功能设计与模拟实现

Axure原型设计中的模拟用户日历与日程安排功能设计与模拟实现

Axure原型设计中的模拟用户日历与日程安排功能设计与模拟实现近年来,随着移动互联网的快速发展,人们对于日历和日程安排的需求也越来越高。

在产品设计过程中,如何设计一个用户友好、功能强大的日历与日程安排功能成为了一个重要的课题。

Axure是一款强大的原型设计工具,它提供了丰富的功能和交互元素,使得我们可以方便地设计和模拟用户日历与日程安排功能。

一、日历功能设计与模拟实现在设计日历功能时,我们可以考虑以下几个方面:1.1 日历视图切换:用户可以通过切换不同的视图来查看日历,如月视图、周视图和日视图。

在Axure中,我们可以使用动态面板来实现这一功能。

通过点击不同的按钮,切换不同的面板,并显示相应的视图。

1.2 日期选择:用户可以通过选择不同的日期来查看日程安排。

在Axure中,我们可以使用日期选择器组件来实现这一功能。

用户可以点击日期选择器,选择特定的日期,然后系统会自动显示该日期的日程安排。

1.3 日程显示:在日历中,用户可以查看每天的日程安排。

在Axure中,我们可以使用列表组件来展示日程安排。

通过添加列表项,我们可以将每个日程安排显示在列表中,并提供相应的操作按钮,如编辑、删除等。

二、日程安排功能设计与模拟实现在设计日程安排功能时,我们可以考虑以下几个方面:2.1 添加日程:用户可以通过点击添加按钮来添加新的日程安排。

在Axure中,我们可以使用表单组件来实现这一功能。

用户可以填写相关信息,如标题、时间、地点等,然后点击确认按钮,系统会将该日程安排添加到日历中。

2.2 编辑日程:用户可以对已有的日程安排进行编辑操作。

在Axure中,我们可以使用表单组件和交互事件来实现这一功能。

用户可以点击编辑按钮,然后弹出编辑窗口,可以修改相关信息,并保存修改后的日程安排。

2.3 删除日程:用户可以对已有的日程安排进行删除操作。

在Axure中,我们可以使用交互事件来实现这一功能。

用户可以点击删除按钮,系统会弹出确认对话框,用户点击确认后,系统会将该日程安排从日历中删除。

Axure 完全模拟日期选择器

Axure 完全模拟日期选择器

Axure 完全模拟日期选择器概念:日期选择器,涉及到的知识:中继器日期函数用例逻辑:用中继器重复及自动换行的特性配合日期函数填充日期,再使用用例IF-ELSE的特性处理交互事件。

步骤:全局变量:第一步先将会用到的全局变量先建好AToday:今天AFirstDay:左边日历的当月第一天ADateIndex:左边日历的当月第一天是周几BFirstDay:右边日历的当月第一天BDateIndex:右边日历的当月第一天是周几StartDate:被选中的开始日期EndDate:被选中的结束日期Kevin8977@gmail如果想做的只是单一日期选择器,那么B开头的变量不用建初值可以不用指定,在页面加载时再指定即可。

创建日期组件:上图是最后的成果,第一步是先创建图中圆型的圆形日期框,如下图:这里要注意圆形要搭配一个方形框,为了让圆形日期框之间留出空间,也为了留每月1号的日期框不会跑到首行的最前面。

添加选中样式:最终当日期被选中时样式如下:选中事件:当点击日期后,我们要将选中的日期存起来,并且将效果改成选中状态。

如果只是做单一日期选择,效果到这里就可以了,但是要加一个额外的步骤:在圆形日期框上右键,点击选项组(Selection Group),给一个名字。

Kevin8977取消选项组隔离,这个整个中继器的日期,就只有一个会被选中。

中继器内容中继器中只需要一列,从1填到42,这是因为一周7天为一行,我们需要用到6行,共42个数字。

外观(LAYOUT)选择水平重复,并且每7个换行。

日期圆框命名为W1,方框可以不用命名,暂时还用不到。

先试试在每项加载的用例中填入以下代码:这个只是试验,做一下间距及大小的调整后就要删掉了。

日期圆框之间的间距,可以用前面未命的方框大小来决定,调整好之后就删掉上面的代码。

添加年月显示框、左右方向键、星期几的标识。

事件及代码:开始进入正题了kevin8977@gmail。

位置:页面加载(Page Loaded)页面加载时:指定AToday值为[[Now]]AFirstDay的值为今天加上一个负值,比如今天是25号那么就减去24天,即为当月第1天。

axure日历控件的制作

axure日历控件的制作

8 、点击日期数字上的热区时,直接设置文本框的值等于对应的日期就可 以了。然后隐藏动态面板
《Axure RP7.0从入门到精通》12节试看课视频: /course/lesson-8203?invitedcode=009051
《Axure RP7.0从入门到精通》12节试看课视频: /course/lesson-8203?invitedcode=009051
5、分别设置热区的点击事件(如何设置点击事件大家看前几节课),点击清空 上的热区时,删除日期文本框的文字
《Axure RP7.0从入门到精通》12节试看课视频: /course/lesson-8203?invitedcode=009051
6、点击今天上的热区时,调用系统日期变量[[Year]]-[[Month]]-[[Day]],将 当前日期填入文本框。如果要是填前一天的就是 [[Year]]-[[Month]][[Day-1]]喽,当天是月初1号,就是[[Year]]-[[Month-1]]-[[Day-1]]。
《Axure RP7.0从入门到精通》12节试看课视频: /course/lesson-8203?invitedcode=009051
3、拖拽图片到动态面板区域,调整好大学
《Axure RP7.0从入门到精通》12节试看课视频: /course/lesson-8203?invitedcode=009051
《Axure RP7.0从入门到精通》12节试看课视频: /course/lesson-8203?invitedcode=009051

同鞋们学会了日历控件的制作,如果还想学习更详细的内容, 请加课程顾问的QQ:2332253190 (加好友请注明是来自**的PPT) 看ppt很沉闷有木有?想快速学习不枯燥,点下面!点下面! 《Axure RP7.0从入门到精通》 /course/5065?invitedcode=009051 《Axure RP7.0从入门到精通》12节试看课视频: /course/lesson-8203?invitedcode=009051

vue lunar-calendar 用法

vue lunar-calendar 用法

vue lunar-calendar 用法lunar-calendar 是一个基于Vue.js 的插件,用于显示农历日历。

以下是使用 lunar-calendar 的步骤:1. 安装插件:首先,使用 npm 进行安装。

打开终端或命令提示符,并在项目目录下运行以下命令:```npm install vue-lunar-calendar```2. 导入插件:在需要使用 lunar-calendar 的 Vue 组件中,导入lunar-calendar 插件:```javascriptimport LunarCalendar from 'vue-lunar-calendar'```3. 注册插件:在 Vue 实例中,注册 lunar-calendar 插件:```javascripte(LunarCalendar)```4. 在模板中使用lunar-calendar:在需要显示农历日历的地方,使用 `<lunar-calendar>` 组件:```vue<template><lunar-calendar></lunar-calendar></template>```你也可以通过向 `<lunar-calendar>` 组件添加属性来自定义日历的外观和行为,例如指定初始年份、禁用特定日期等。

可用属性和其用法可以在官方文档中找到。

5. 运行应用程序:最后,在你的应用程序中编译和运行 Vue 组件,即可看到农历日历的显示。

以上是使用 vue lunar-calendar 的基本用法。

你可以根据需要进行进一步的自定义和配置,以适应你的应用程序。

更多详细的用法和示例可以参考 lunar-calendar 的官方文档。

提高工作效率的Axure插件推荐

提高工作效率的Axure插件推荐

提高工作效率的Axure插件推荐Axure是一款功能强大的原型设计工具,被广泛应用于用户体验设计和产品原型制作。

然而,对于许多用户来说,提高工作效率成为一个重要的课题。

在这篇文章中,我们将推荐一些能够帮助提高工作效率的Axure插件,帮助您更加高效地完成工作。

一、Sketch to Axure首先推荐的是Sketch to Axure插件。

Sketch是一款热门的设计工具,许多设计师在进行UI设计时会使用Sketch。

而Sketch to Axure插件能够将Sketch文件直接转换为Axure原型文件,省去了重新绘制的时间和精力。

这个插件非常方便,能够大大提高工作效率。

二、Axure RP Extension for ChromeAxure RP Extension for Chrome是一款非常实用的插件,它能够将Axure原型文件直接在Chrome浏览器中预览。

这个插件支持实时更新,即使您在Axure中进行了修改,也能够立即在浏览器中看到最新的效果。

这对于与团队成员或客户进行沟通和反馈非常有帮助,能够节省大量的时间和沟通成本。

三、Axure ShareAxure Share是Axure官方提供的一项服务,也是一款非常实用的插件。

它能够将Axure原型文件上传到云端,并生成一个共享链接。

通过这个链接,您可以方便地与团队成员或客户共享原型,进行远程协作和交流。

此外,Axure Share还提供了评论和标注的功能,能够更加方便地收集反馈和意见。

使用Axure Share,您可以更加高效地与他人合作,提升团队的工作效率。

四、Axure RP Widget LibrariesAxure RP Widget Libraries是一系列由Axure官方提供的组件库。

这些组件库包含了各种常用的UI元素和交互模式,能够帮助设计师快速构建原型。

通过使用这些组件库,您不仅能够节省大量的时间,还能够保证原型的一致性和美观度。

Vue之日历控件vue-full-calendar的使用

Vue之日历控件vue-full-calendar的使用

Vue之⽇历控件vue-full-calendar的使⽤(1).安装依赖npm install vue-full-calendar npm install moment因为这是⽇历插件⽤到了时间⼯具类 === moment (2).⽂件中导⼊依赖在想要⽤此插件的⽂件中导⼊依赖import { FullCalendar } from 'vue-full-calendar'import "fullcalendar/dist/fullcalendar.css";注册到组件中components: { FullCalendar },我的代码:<template><div class="fullCalendarCont"><el-date-pickersize="small"style="width: 144px;"v-model="selectDate"type="date"placeholder="选择时间"@change="changeDate"></el-date-picker><full-calendar:config="config":events="events"ref="calendar"></full-calendar></div></template><script>import { FullCalendar } from 'vue-full-calendar'import "fullcalendar/dist/fullcalendar.css";export default {components: { FullCalendar},data() {return {selectDate:'',//⽇期选择器选中的⽉份events: [{id:1,title:'出差',start: '2020-07-20', // 事件开始时间end: '2020-07-21', // 事件结束时间}, {id:2,title:'春游',start: '2020-07-12 09:00:00',end: '2020-07-18 12:00:00',}, {id:3,title:'春游2',start: '2020-07-12 09:00:00',end: '2020-07-12 12:00:00',}, {id:4,title:'春游3',start: '2020-07-26 13:00:00',end: '2020-07-26 15:00:00',}, {id:5,title:'春游4',start: '2020-07-26 15:00:00',end: '2020-07-26 16:00:00',}],config: {firstDay:'0',//以周⽇为每周的第⼀天buttonText: { today: "今天", month: "⽉", week: "周", day: "⽇" },header: {left:'today', center: 'prev, title, next'},theme:false,//是否允许使⽤jquery的ui主题height:'auto',slotLabelFormat:'H:mm', // axisFormat 'H(:mm)'//slotLabelInterval:1,views: {month: {titleFormat: 'YYYY年MMM'},day: {titleFormat: 'YYYY年MMMDD⽇ dddd'}},monthNames: ["1⽉", "2⽉", "3⽉", "4⽉", "5⽉", "6⽉", "7⽉", "8⽉", "9⽉", "10⽉", "11⽉", "12⽉"],monthNamesShort: ["1⽉", "2⽉", "3⽉", "4⽉", "5⽉", "6⽉", "7⽉", "8⽉", "9⽉", "10⽉", "11⽉", "12⽉"], dayNames: ["星期⽇", "星期⼀", "星期⼆", "星期三", "星期四", "星期五", "星期六"],dayNamesShort: ["星期⽇", "星期⼀", "星期⼆", "星期三", "星期四", "星期五", "星期六"],slotDuration:'00:30:00',minTime:'00:00',maxTime:'24:00',locale: "zh-cn",editable: false, //是否允许修改事件selectable: false,//是否允许⽤户单击或者拖拽⽇历中的天和时间隙eventLimit: false, // 限制⼀天中显⽰的事件数,默认falseallDaySlot:true, //是否显⽰allDaydisplayEventEnd: false,//是否显⽰结束时间allDayText: '全天',navLinks: true, //允许天/周名称是否可点击defaultView: "agendaWeek", //显⽰默认视图eventClick: this.eventClick, //点击事件dayClick: this.dayClick, //点击⽇程表上⾯某⼀天eventRender: this.eventRender}}},methods: {changeDate(){this.$refs.calendar.fireMethod('gotoDate', this.selectDate)},// 点击事件eventClick (event, jsEvent, pos) {alert('eventClick', event, jsEvent, pos)},// 点击当天dayClick (day, jsEvent) {alert('dayClick', day, jsEvent)},eventRender:function (event, element) {element.find('.fc-title').attr('title',event.title)}}}</script>。

Axure 8.0

Axure 8.0

按钮套入动态面板中,命名为“button”,左侧增加的进度也套入动态面板中,命名为“plan”,底色不用动态面板直接命名为“base”。

(2)添加滑动效果缩短“plan”面板的长度(注意:面板内的矩形长度不改变),原件从上向下顺序依次是“button”“plan”“base”。

然后,我们对滑块“button”添加用例:这里我采用的是坐标定位,因为滑块是横向滑动,所以设置X轴坐标的变化。

(用TotaldrapX函数时来回快速拖会有bug,而这样不会)思路:计算出滑块“button”在X轴拖动的距离来改变动态面板“plan”的长度。

完成这一步,就可以左右滑动来设置进度了。

2.设置拖动滑块显示进度的值这里我们添加一个显示数值的文本框,命名为“number”,为了美观把边框隐藏了。

接着之前的步骤再添加一个拖动“button”改变“number”文本框数值的用例。

在之前用的是坐标定位,这里我用了原件宽度的函数来定位,这样看起来麻烦一些,但是有利于之后的调整。

(也可以直接写宽度的数值)不要被这一大坨唬住了,一点一点看:LVAR1.width/(LVAR2.width-30) 这一段是计算“plan”在“base”长度上的占比,因为“button”本身有宽度,所以减去30;toFixed(2)函数是固定小数点后保留两位;100和后面的%抵消,将小数转化为百分数。

到这一步,在浏览器中就可以拖动滑块,显示比例了。

3.拖动滑块设置日期如果仅仅是拖动滑块来改变百分比,这个小元件实在没什么意思,但是在很多情况下可以拖动滑块了设置时间。

比如在众筹的产品内,发布项目时需要设置筹款周期,这个原件就派上用场了。

我们继续往下看:将刚才的样式稍微修改一下:然后将用例修改一下:这里我设置本月天数为31天,如果想要通过判定来获取某月的天数可以参考上学时做的判断某一年是否是闰年的思路。

math.ceil()函数是向上取整,及滑动到15.5天时显示为16天。

Axure中如何添加和编辑组件

Axure中如何添加和编辑组件

Axure中如何添加和编辑组件Axure是一款功能强大的原型设计工具,被广泛应用于用户界面设计和交互设计领域。

在Axure中,添加和编辑组件是设计过程中的关键步骤之一。

本文将介绍Axure中如何添加和编辑组件,帮助读者更好地利用这个工具进行设计。

在Axure中,添加组件有多种方式。

最常用的方法是通过“库”面板中的组件库来添加。

Axure提供了丰富的组件库,包括按钮、文本框、下拉菜单等常见的UI组件。

用户只需在“库”面板中选择所需的组件,然后在页面上点击添加即可。

此外,用户还可以通过拖拽方式将组件库中的组件直接拖拽到页面上。

除了使用组件库,Axure还支持自定义组件。

用户可以通过“部件”面板来创建自定义组件。

在“部件”面板中,用户可以选择已有的组件进行编辑,也可以通过组合多个组件创建新的组件。

例如,用户可以将一个按钮和一个文本框组合在一起,形成一个自定义的登录框组件。

创建好的自定义组件可以保存在“部件库”中,以便在其他项目中复用。

在Axure中,编辑组件的方式也多种多样。

一种常用的编辑方式是通过属性面板来修改组件的属性。

在选中一个组件后,用户可以在属性面板中修改组件的大小、位置、颜色等属性。

例如,用户可以通过属性面板将一个按钮的颜色修改为蓝色,或者将一个文本框的字体大小调整为14号。

除了属性面板,Axure还提供了交互面板来编辑组件的交互行为。

通过交互面板,用户可以为组件添加各种交互效果,如点击、悬停等。

例如,用户可以在交互面板中为一个按钮添加点击事件,当用户点击按钮时,页面会跳转到指定的链接或者显示隐藏的内容。

此外,Axure还支持通过快捷键来编辑组件。

用户可以通过按住Ctrl键并拖动鼠标来复制一个组件,或者按住Shift键并拖动鼠标来等比例缩放一个组件。

这些快捷键可以大大提高编辑组件的效率。

在Axure中,添加和编辑组件是设计过程中不可或缺的一部分。

通过灵活运用组件库、自定义组件和各种编辑方式,设计师可以快速创建出符合需求的原型。

产品经理今天,有一个小目标:设计一个日历的原型

产品经理今天,有一个小目标:设计一个日历的原型

1.点击图标,弹出日历选项卡2.可以选择年、月、日3.选择今天则文本框显示今天的日期4.选择清空,选择的日期将被删除5.点击关闭则日历框将被关闭工具:Axure7.01.一个文本框:数据随着用户的选择而不断更新;2.一个日历的图标,固定,不发生变化,可点击;3.三个按钮,清空,今天,关闭。

按钮固定,不发生变化,可点击;4.一个表示一周的数字,一,二,三...且是固定不变的,不可点击;5.表示一个月的数字,随着年份、月份的变化而变化,可点击,选择后文本框中的日期会发生对应的变化。

6.上月部分和下月部分数字是灰色,周日和周六的日期比其他数字颜色要深;7.当前日期,处于选中状态,选择其他日期时,处于选中,且数字颜色变为白色;先用HTML写出基本的框架:设置字体,字体颜色,表头信息,是否加阴影,所在的位置;背景颜色,年月日的高度、宽度、位置,背景颜色等。

其次,开始添加判断和效果,分析看需要多少变量,且是如何赋予函数的,如下:1.点击图标展示日历,提取系统时间,显示本年、本月、本日且当前的处于选中状态。

2.对于月的选择,选择上一个月,本月的-1,选择下一个月,本月+1,依次类推;3.对于日的选择,当前前一天的-1,当前后一天的加1;4.对于年的选择,上一年的-1,下一年的加1;5.文本中的日期=年+月+日;6.获取月份,月1号的周值,月天数;年,是否是闰年,闰年的判断,每4年、100年、400年是闰年,7.选择今天文本框中出现的日期,选择清空文本框中出现的日期,选择关闭,文本框中出现的数据原型制作中,没有实现向前:年、月、日的选择,需要用到中继器,有兴趣者可以继续研究;在原型制作过程中,考虑包含哪些元素有助于梳理各自的交互关系;。

Axure 实例-高保真日历控件制作

Axure 实例-高保真日历控件制作

Axure 实例-高保真日历控件制作
这篇文章介绍了关于Axure 实例-高保真日历控件的相关信息,供大家参考。

 有些日子不动Axure 了,再熟悉的东西如果长时间不用都会变得生疏,所以今天找来「日历控件」练手,一来是恢复下手感,二来继续积攒高保真的控件,毕竟像「日历」这种控件在Web 设计中经常会被用到,所以有必要做一个Masters,方便做各种原型时调用。

 要求:
 1、日历中的各个组件可联动。

 2、选择任意日期后均可将值代入到输入框中。

 这个控件做起来并不难,只是比较麻烦。

原因在于界面上的所有组件彼此间都需要联动,需要考虑好它们之间的逻辑关系和各种小细节,所以我只设置了三套年月日的组合,效果足够示意就够了,如果把12 个月都拉出来估计自己都会疯掉…将选择的日期值代入输入框需要用到变量,所以对于Axure 的变量操作需要有一定了解,这个在我之前做过的实例里也有体现,可以点这里浏览。

 过程细说起来太痛苦,只捡重要的几点说说,其余自己领悟吧。

预览摸这里,如果需要rp 文件请留言索要,毕竟看源文件比什幺都好懂。

 给「输入框」命名为date-box,设置OnClick 事件用于激活日历。

可以直接用Show Panel,但这个动作的动画效果只有fade 一种,如果像要更多可。

在Vue项目中用fullcalendar制作日程表的示例代码

在Vue项目中用fullcalendar制作日程表的示例代码

在Vue项⽬中⽤fullcalendar制作⽇程表的⽰例代码前⾔最近⽼牌⽇历插件fullcalendar更新了v4版本,⽽且添加了Vue⽀持,所以⽤最新的fullcalendar v4制作⼀个完整⽇历体验⼀下,效果图:安装FullCalendar的功能被分解为“插件”。

如果您需要它提供的功能,您只需要包含⼀个插件。

也就是说,FullCalendar v4所有插件都得单独安装引⽤。

npm install --save @fullcalendar/vue @fullcalendar/core @fullcalendar/daygrid引⽤并初始化引⽤、注册FullCalendar组件,得到⼀个⽉视图的⽇历。

<script>import FullCalendar from '@fullcalendar/vue'import dayGridPlugin from '@fullcalendar/daygrid'export default {components: {FullCalendar},data() {return {calendarPlugins: [ dayGridPlugin ]}}}</script><template><FullCalendar defaultView="dayGridMonth" :plugins="calendarPlugins" /></template><style lang='less'>//⽤什么插件必须引⼊相应的样式表,否则不能正常显⽰@import '~@fullcalendar/core/main.css';@import '~@fullcalendar/daygrid/main.css';</style>功能定制为了完成复杂功能,需要引⽤更多插件,插件列表:语⾔设置简体中⽂<FullCalendar locale="zh-cn" />如果表头加了button的话,button⽂字要单独做处理,给每个button的英⽂名称加⼀个中⽂的映射,例: <FullCalendar:header="{left: 'prev,next today',center: 'title',right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'}":buttonText="buttonText"/>data () {return {buttonText: {today: '今天',month: '⽉',week: '周',day: '天'}}}点击⽇历添加事件npm install --save @fullcalendar/interaction<FullCalendar @dateClick="handleDateClick" />handleDateClick (arg) {if (confirm('Would you like to add an event to ' + arg.dateStr + ' ?')) {this.calendarEvents.push({ // add new event datatitle: 'New Event',start: arg.date,allDay: arg.allDay})}}点击事件查看详情<FullCalendar @eventClick="handleEventClick" />handleEventClick (info) {alert('Event: ' + info.event.title)}官⽅⽂档:以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

AXURE日历插件制作

AXURE日历插件制作

1、下载日历组件
英文版将组件放MY Axure RP Libries
汉化版放我的AXURE RP部件库就行
2、在界面中拖入文本面板(选择日期)
文本框命名为data
选择一个合适的图标
在控制面板中拖入刚加入的日历插件
3、选择日期26号,在控制交互面板中点击onclick,弹出框中选择:
设置变量/部件值----- 打开值编辑器----文字在部件上----data-----值(2013-07-26)----确定
4、选中日历组件-----转换-----动态面板-----编辑-----隐藏(命名日历控件)
5、选择图标-----切换面板可见性------确定-------选择日历面板------点击动态面板状态-----
选择26-------用例1加入隐藏日历
注:设置其他日期只重复3、5步骤即可。

axure制作流程

axure制作流程

axure制作流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!《Axure 制作流程》一、项目启动1. 明确项目目标和需求:在开始制作 Axure 原型之前,需要明确项目的目标和需求,以便确定原型的功能和范围。

Axure教程:【实例】文本自动获取日期、时间

Axure教程:【实例】文本自动获取日期、时间

Axure教程:【实例】文本自动获取日期、时间编辑导读:工作中,有些系统会多次用到日期或者时间。

如何用函数在画面加载时,自动获取日期或时间?下面大家来一起看一下。

元件准备:第一个文本标签,取名为Year;第二个文本标签,取名为Month;第三个文本文本标签,取名为Day;第四个文本标签,取名为Hours;第五个文本标签,取名为Minutes;第六个文本文本标签,取名为Seconds;第七个文本文本标签,取名为YYYY-MM-DD hh:mm:ss。

一、单独获取年、月、日、时、分、秒下面先讲解如何单独获取年、月、日、时、分、秒的方法。

1. 获取年份对文本标签:Year进行设置。

交互:选择“载入时”,“设置文本”目标为“当前”,如下图所示:点击“fx”进入插入或函数画面,然后点击“插入变量或函数”,选择日期列表中的函数:getFullYear(),如下图所示:设置后的效果如下图所示:2. 获取月份按照设置文本标签:Year的方法,对文本标签:Month进行设置,选择日期列表中的函数:getMonth(),设置后的效果如下图所示:3. 获取日按照设置文本标签:Year的方法,对文本标签:Day进行设置,选择日期列表中的函数:getDate(),设置后的效果如下图所示:4. 获取小时按照设置文本标签:Year的方法,对文本标签:Hours进行设置,选择日期列表中的函数:getHours(),设置后的效果如下图所示:5. 获取分钟按照设置文本标签:Year的方法,对文本标签:Minutes进行设置,选择日期列表中的函数:getMinutes(),设置后的效果如下图所示:6. 获取秒按照设置文本标签:Year的方法,对文本标签:Seconds进行设置,选择日期列表中的函数:getSeconds(),设置后的效果如下图所示:7. 效果展示效果如下图所示:二、日期时间显示结合以上方法,对文本文本标签,取名为YYYY-MM-DD hh:mm:ss。

带农历日历的DatePicker控件!Xamarin控件开发小记

带农历日历的DatePicker控件!Xamarin控件开发小记
同样的,在引用Android安装包后,需要在MainActivity.cs做如下操作:
protected override void OnCreate(Bundle bundle) { ...
global::Xamarin.Forms.Forms.Init(this, bundle); DatePicker.Android.ChinaDateServer ssChinaDateServer = new DatePicker.Android.ChinaDateServer(); //在此插入这段语句 LoadApplication(new App()); }
引用
1. PCL: 2. Android: 3. iOS:
用法
1. 在引用iOS安装包时候需要在AppDelegate.cs做如下操作:
public override bool FinishedLaunching(UIApplication app, NSDictionary options) { ...
2. 在这个页面中提供了如何使用这一控件
பைடு நூலகம்
global::Xamarin.Forms.Forms.Init(); Mato.DatePicker.iOS.ChinaDateServer ssChinaDateServer=new Mato.DatePicker.iOS.ChinaDateServer(); //在此插入这段语句 LoadApplication(new App()); }
博客园 用户登录 代码改变世界 密码登录 短信登录 忘记登录用户名 忘记密码 记住我 登录 第三方登录/注册 没有账户, 立即注册
带农历日历的 DatePicker控件! Xamarin控件开发小记

Vue实现日历小插件

Vue实现日历小插件

Vue实现⽇历⼩插件本⽂实例为⼤家分享了Vue实现⽇历⼩插件的具体代码,供⼤家参考,具体内容如下先看下效果图吧,如下源码可见于我的实现关键点:1.组件的复⽤以及⽗⼦组件传值很明显每年每个⽉的⽉历样式(数据不⼀样)是⼀致的,那么⾃然⽽然思路就是把每个⽉作为⼀个公⽤组件进⾏复⽤⼗⼆次,这样就避免了多次重复的代码。

每个组件不⼀样的地⽅在于年份和⽉份,⽽这两个数据我们可以由⽗组件向⼦组件进⾏传值来告诉⼦组件。

关键代码如下:<template><div class="wrap">//months是⼀个包含⼗⼆个⽉名字的数组,⽤v-for对其进⾏循环渲染,并且把⽉份的index传给⼦组件<div v-for='(items, index) in months' v-if="index == monthIndex"><month :monthName='items':year='year' //年份传给⼦组件,年份在mounted⾥⾯计算得出:monthIndex='index' //⽉份传给⼦组件:day='today'//当⽇⽇期传给⼦组件:key='index' ></month></div></div></template>//data部分data () {return {monthIndex: 0,months:['January', 'February', 'March', 'April','May', 'June', 'July', 'August','September', 'October', 'November', 'December'],year:-1,day:-1,}},2.实现默认当⽇选中并且切换⽉份的时候其他⽉份不会有选中样式在⽗组件的mounted钩⼦⾥⾯我们会计算当年当⽉当⽇,并传给⼦组件,⼦组件的有个day属性⽤于存储⽗组件传来的today的值,day属性默认值为-1,⽗组件传值过去之后会给day属性重新赋值//⽗组件mounted () {let myDate = new Date();this.monthIndex = myDate.getMonth();this.year = myDate.getFullYear();this.today = myDate.getDate() - 1;},在⼦组件循环渲染每天的⽇期的时候会设置⼀个动态绑定样式类似于⼀下代码(实际代码略微不⼀样)://index值为0-41<div v-for="(item, index) in days" :key='index'class="dayIndex" @click='choose(index)':class="{choose: day == index}"> //动态绑定样式当data中的属性day的值和index的值相等的时候,就会给div添加⼀个choose的样式,但是这样有⼀个问题——那就是每个⽉的该index的div都会有这个class样式。

【UI插件】开发一个简单日历插件(上)

【UI插件】开发一个简单日历插件(上)

【UI插件】开发⼀个简单⽇历插件(上)前⾔最近开始整理我们的单页应⽤框架了,虽然可能⽐不上MVVM模式的开发效率,也可能没有Backbone框架模块清晰,但是好⽍也是⾃⼰开发出来⽽且也⽤于了这么多频道的东西,如果没有总结,没有整理,没有开源就太可惜了......所以最近开始整理框架相关的东西,争取抽象⼀点东西出来框架出来还需要⼀点时间,但是框架会需要相关的UI库,这个东西可以先有思路,最后再根据框架做⼀点调整吧⽇历对于UI插件⽽⾔还是⽐较难的,⾥⾯涉及到的东西很多,就阴历与阳历⼀块就有很多东西,然后涉及到很多算法,其中节⽇的设置更是有⼀定动态性各种各样的需求也是莫名其妙,所以我们今天便来实现⼀个简单的⽇历插件吧,当然他的主要应⽤场景还是单页应⽤构思⾸先,我们这⾥⽤这套东西实现继承var arr = [];var slice = arr.slice;function create() {if (arguments.length == 0 || arguments.length > 2) throw '参数错误';var parent = null;//将参数转换为数组var properties = slice.call(arguments);//如果第⼀个参数为类(function),那么就将之取出if (typeof properties[0] === 'function')parent = properties.shift();properties = properties[0];function klass() {this.initialize.apply(this, arguments);}klass.superclass = parent;klass.subclasses = [];if (parent) {var subclass = function () { };subclass.prototype = parent.prototype;klass.prototype = new subclass;parent.subclasses.push(klass);}var ancestor = klass.superclass && klass.superclass.prototype;for (var k in properties) {var value = properties[k];//满⾜条件就重写if (ancestor && typeof value == 'function') {var argslist = /^\s*function\s*\(([^\(\)]*?)\)\s*?\{/i.exec(value.toString())[1].replace(/\s/i, '').split(',');//只有在第⼀个参数为$super情况下才需要处理(是否具有重复⽅法需要⽤户⾃⼰决定)if (argslist[0] === '$super' && ancestor[k]) {value = (function (methodName, fn) {return function () {var scope = this;var args = [function () {return ancestor[methodName].apply(scope, arguments);} ];return fn.apply(this, args.concat(slice.call(arguments)));};})(k, value);}}klass.prototype[k] = value;}if (!klass.prototype.initialize)klass.prototype.initialize = function () { };klass.prototype.constructor = klass;return klass;}其次,我们的⽇历做出来应该是可定制化的,可定制化的粒度控制到每⼀个单元格,意思是每⼀个单元格是可操作的这个时候最好的解决办法就是模板,并且释放⼀个操作某个⽇期的接⼝,⽐如我们现在要实现阴历节⽇或者阳历节⽇完全是实现抽象的⽇历,这样可以最⼤的提⾼扩展性所以,我们这⾥的第⼀步是实现⼀个最基本的抽象⽇历abstract.calendar像⽇历这类插件,我⾸先还是想到⽤表格来做,但是CSS3的出现也能让我们的代码很好的实现,所以我这⾥使⽤li做,具体实现我们后⾯再说,我们要完成的第⼀个事情是渲染当⽉我们做的第⼀个事情是给⼀个⽇期,然后当⽉的数据便出来了,⽐如我们这⾥给的是20140420,就是当前⽇期,然后便需要形成这个⽉的⽇期,这⾥就涉及到⼀连串东西了解决这个问题,我们需要第⼀个api,算出给定⽇期⼀共有多少天,第⼆步便是排列第⼀个⽇期为星期⼏即可众所周知,计算⽉份天数时候有⼀个例外的情况便是闰年的⼆⽉,所以我们需要检查是否为闰年的接⼝,这个接⼝⼀般由公共⽇期类库提供所以我们在做⽇历相关的过程中,完全可以整理⼀套⽇期的API出来,这也是今天⼀个任务⽇期操作类库这⾥⾸先给出两个接⼝,⼀个判断是否为闰年,⼀个判断⼀个⽉有多少天var dateUtil = {// @description 是否为闰年// @param year {num} 可能是年份或者为⼀个date时间// @return {boolean} 返回值isLeapYear: function (year) {//传⼊为时间格式需要处理if ((typeof year == 'object') && (year instanceof Date)) year = year.getFullYear()if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) return true;else return false;},// @description 获取⼀个⽉份的天数// @param year {num} 可能是年份或者为⼀个date时间// @param year {num} ⽉份// @return {num} 返回天数getDaysOfMonth: function (year, month) {if ((typeof year == 'object') && (year instanceof Date)) {month = year.getmonth() + 1; //注意此处⽉份要加1year = year.getFullYear();}return [31, dateUtil.isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];}};官⽅的getDay即可返回某天为星期⼏0-6:星期天-星期六所以,理论上我们给⼀个⽇期,就可以获得那⼀天的dom结构了,我们来试试,获取本⽉的⽇历数据这⾥我们需要新增⼀个API告诉我们⼀年中的某⼀个⽉是由周⼏开始的// @description 获取⼀个⽉份1号是星期⼏,注意此时的⽉份传⼊时需要⾃主减⼀// @param year {num} 可能是年份或者为⼀个date时间// @param year {num} ⽉份// @return {num} 当⽉⼀号为星期⼏0-6getBeginDayOfMouth: function (year, month) {if ((typeof year == 'object') && (year instanceof Date)) {month = year.getMonth(); //注意此处⽉份要加1year = year.getFullYear();}var d = new Date(year, month, 1);return d.getDay();}渲染dom这个时候我们尝试⽣成我们的dom结构就出来了:<style type="text/css">ul, li { padding: 0; margin: 0; }.cui_calendar, .cui_week { list-style: none; }.cui_calendar li, .cui_week li { float: left; width: 14%; overflow: hidden; padding: 4px 0; text-align: center; }</style>我们这⾥做⼀次简单的封装后,开始引⼊模板相关的东西,于是最后形成的东西:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="/1999/xhtml"><head><title></title><style type="text/css">ul, li { padding: 0; margin: 0; }.cui_calendar, .cui_week { list-style: none; }.cui_calendar li, .cui_week li { float: left; width: 14%; overflow: hidden; padding: 4px 0; text-align: center; }</style></head><body><script src="zepto.js" type="text/javascript"></script><script src="underscore-min.js" type="text/javascript"></script><script type="text/javascript">var arr = [];var slice = arr.slice;/*** @description inherit⽅法,js的继承,默认为两个参数* @param {function} supClass 可选,要继承的类* @param {object} subProperty 被创建类的成员* @return {function} 被创建的类*/var inherit = function () {// @description 参数检测,该继承⽅法,只⽀持⼀个参数创建类,或者两个参数继承类if (arguments.length == 0 || arguments.length > 2) throw '参数错误';var parent = null;// @description 将参数转换为数组var properties = slice.call(arguments);// @description 如果第⼀个参数为类(function),那么就将之取出if (typeof properties[0] === 'function')parent = properties.shift();properties = properties[0];// @description 创建新类⽤于返回function klass() {this.initialize.apply(this, arguments);}klass.superclass = parent;klass.subclasses = [];if (parent) {// @description 中间过渡类,防⽌parent的构造函数被执⾏var subclass = function () { };subclass.prototype = parent.prototype;klass.prototype = new subclass;parent.subclasses.push(klass);}var ancestor = klass.superclass && klass.superclass.prototype;for (var k in properties) {var value = properties[k];//满⾜条件就重写if (ancestor && typeof value == 'function') {var argslist = /^\s*function\s*\(([^\(\)]*?)\)\s*?\{/i.exec(value.toString())[1].replace(/\s/i, '').split(',');//只有在第⼀个参数为$super情况下才需要处理(是否具有重复⽅法需要⽤户⾃⼰决定)if (argslist[0] === '$super' && ancestor[k]) {value = (function (methodName, fn) {return function () {var scope = this;var args = [function () {return ancestor[methodName].apply(scope, arguments);} ];return fn.apply(this, args.concat(slice.call(arguments)));};})(k, value);}}klass.prototype[k] = value;}if (!klass.prototype.initialize)klass.prototype.initialize = function () { };klass.prototype.constructor = klass;return klass;};var dateUtil = {// @description 是否为闰年// @param year {num} 可能是年份或者为⼀个date时间// @return {boolean} 返回值isLeapYear: function (year) {//传⼊为时间格式需要处理if ((typeof year == 'object') && (year instanceof Date)) year = year.getFullYear()if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) return true;else return false;},// @description 获取⼀个⽉份的天数// @param year {num} 可能是年份或者为⼀个date时间// @param year {num} ⽉份// @return {num} 返回天数getDaysOfMonth: function (year, month) {if ((typeof year == 'object') && (year instanceof Date)) {month = year.getMonth(); //注意此处⽉份要加1,所以我们要减⼀year = year.getFullYear();}return [31, dateUtil.isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month]; },// @description 获取⼀个⽉份1号是星期⼏,注意此时的⽉份传⼊时需要⾃主减⼀// @param year {num} 可能是年份或者为⼀个date时间// @param year {num} ⽉份// @return {num} 当⽉⼀号为星期⼏0-6getBeginDayOfMouth: function (year, month) {if ((typeof year == 'object') && (year instanceof Date)) {month = year.getMonth(); //注意此处⽉份要加1year = year.getFullYear();}var d = new Date(year, month, 1);return d.getDay();}};var Calendar = inherit({initialize: function () {this.dateObj = new Date();this.rootBox = $('body');//星期项⽬模板this.weekDayItemTmpt = "<li><%=['⽇', '⼀', '⼆', '三', '四', '五', '六'][day] %></li>";//星期包裹层模板,传⼊今天星期⼏,内部怎么实现⾃⼰来this.weekDayTmpt = '<ul class="cui_week"><%for(var day = 0; day < 7; day++) { %> ' + this.weekDayItemTmpt + ' <%} %></ul>';//各个单元格的模板,可以重写this.itemTmpt = '<li class="cui_calendar_item"><%=day %></li>';//⽆效项⽬模板this.invalidTmpt = '<li class="cui_invalid"></li>';//⽉份模板,给定当前年⽉,以及天数,第⼀天星期⼏,让⽤户⾃⼰构造⽉度⽇历模板this.mouthTmpt = ['<ul class="cui_calendar">','<% for(var i = 0; i < _beginWeek; i++) { %>',this.invalidTmpt,'<% } %>','<% for(i = 0; i < days; i++) { %>','<% day = i + 1; %>',this.itemTmpt,'<% } %>','</ul>'].join('');this._initDom();},_initDom: function () {var d = this.dateObj;//获取天数var days = dateUtil.getDaysOfMonth(d);//获取那个⽉第⼀天时星期⼏var _beginWeek = dateUtil.getBeginDayOfMouth(d);var weekDom = _.template(this.weekDayTmpt)();var calendarDom = _.template(this.mouthTmpt, {_beginWeek: _beginWeek,days: days});this.rootBox.append(weekDom);this.rootBox.append(calendarDom);}});var c = new Calendar();</script></body></html>View Codevar Calendar = inherit({initialize: function () {this.dateObj = new Date();this.rootBox = $('body');//星期项⽬模板this.weekDayItemTmpt = "<li><%=['⽇', '⼀', '⼆', '三', '四', '五', '六'][day] %></li>";//星期包裹层模板,传⼊今天星期⼏,内部怎么实现⾃⼰来this.weekDayTmpt = '<ul class="cui_week"><%for(var day = 0; day < 7; day++) { %> ' + this.weekDayItemTmpt + ' <%} %></ul>';//各个单元格的模板,可以重写this.itemTmpt = '<li class="cui_calendar_item"><%=day %></li>';//⽆效项⽬模板this.invalidTmpt = '<li class="cui_invalid"></li>';//⽉份模板,给定当前年⽉,以及天数,第⼀天星期⼏,让⽤户⾃⼰构造⽉度⽇历模板this.mouthTmpt = ['<ul class="cui_calendar">','<% for(var i = 0; i < _beginWeek; i++) { %>',this.invalidTmpt,'<% } %>','<% for(i = 0; i < days; i++) { %>','<% day = i + 1; %>',this.itemTmpt,'<% } %>','</ul>'].join('');this._initDom();},_initDom: function () {var d = this.dateObj;//获取天数var days = dateUtil.getDaysOfMonth(d);//获取那个⽉第⼀天时星期⼏var _beginWeek = dateUtil.getBeginDayOfMouth(d);var weekDom = _.template(this.weekDayTmpt)();var calendarDom = _.template(this.mouthTmpt, {_beginWeek: _beginWeek,days: days});this.rootBox.append(weekDom);this.rootBox.append(calendarDom);}});这⾥将许多可能定制化的东西以模板的⽅式提了出来,⽐如我们的week,⽐如我们的⽉份模板,这⾥各个业务同事可以分别按照⾃⼰的需求进⾏扩展这⾥定制的粒度完全由开发⼈员决定,他可以只定制各个项⽬,或者定制整个⽉份的模板,当然,我们这⾥需要传⼊的参数还不够,还需要增加扩展⽐如,我们要在每⽉上⾯显⽰当前是某年某⽉就需要更多的数据了,模板的扩展程度,很多时候取决于数据的完善性,这⾥年⽉属性我们都需要传⼊所以我们模板处可以稍作修改就变成这个样⼦了:var c = new Calendar({mouthTmpt: ['<div style="overflow: hidden; width: 100%; text-align: center;"><%=year %>年-<%=mouth %>⽉</div>','<ul class="cui_calendar">','<% for(var i = 0; i < beginWeek; i++) { %>','<li class="cui_invalid"></li>','<% } %>','<% for(i = 0; i < days; i++) { %>','<% day = i + 1; %>','<li class="cui_calendar_item"><%=day %></li>','<% } %>','</ul>'].join('')⼜或者,我们想让周末变成橙⾊的话,我们需要这么⼲,并且再加⼀点数据,我们直接告诉每项当前的年⽉⽇,所以他⾃⼰可以做很多判断var c = new Calendar({itemTmpt: '<li class="cui_calendar_item" <% var d = new Date(year, month, day);if(d.getDay() == 0 || d.getDay() == 6) %>style="color: orange; "<% %> ><%=day %></li>'});然后我们得将相关属性赋予dom结构的⼀个属性,⽅便后续操作,很多时候事件相关我们还是得依赖dom之间的映射,动态为每个dom增加data-date属性,年⽉⽇之间-分割因为⽇模板可以被复写,所以这⾥需要⼀个规范,如果这个规范没有了,可能导致⽇期操作失效我们知道⽇期的⽉份由0开始,我们现在是四⽉,所以对应的⽉份却应该是3⽉代码分解经过前⾯的学习,我们简单的⽇历原型其实应该出来了,现在要对其中代码做⼀些优化PS:其实现在代码⽐较少,优化点不多,我们⾸先将构造星期与⽇历相关dom结构的两个⽅法分离出来_getWeekDom: function () {return _.template(this.weekDayTmpt)();},//description 获得某⽉的dom结构_getMonthDom: function (year, month) {var d = new Date(year, month);//description 获取天数var days = dateUtil.getDaysOfMonth(d);//description 获取那个⽉第⼀天时星期⼏var _beginWeek = dateUtil.getBeginDayOfMouth(d);var weekDom = _.template(this.weekDayTmpt)();return _.template(this.mouthTmpt, {year: d.getFullYear(),month: d.getMonth(),beginWeek: _beginWeek,days: days});},init: function () {this.rootBox.append(this._getWeekDom());this.rootBox.append(this._getMonthDom(this.dateObj.getFullYear(), this.dateObj.getMonth()));}其次,这⾥的dateObj⽐较关键,⼀旦出问题就会导致许多错误,所以我们最开始应该有⼀个验证的⽅法,验证是否是⽇期的⽅法当然该由dateUtil提供这⾥不但需要验证是否为⽇期,还需要提供新的⽇期格式化⽅法,parseDate⽅法,⽤于转变常⽤⽇期字符串为⽇期⽇期操作⾸先验证⽇期我们简单⼀点isDate: function (d) {if ((typeof d == 'object') && (d instanceof Date)) return true;return false;},然后是⽐较复杂的转换字符串为⽇期对象,以及转换⽇期对象为常⽤字符串格式化⽇期字符串parse这句话的思考是可以匹配各种我们认为是⽇期格式的字符串,我们只需要告诉年⽉⽇的格式化⽅式或者位置即可,⽐如以下⼏种2014年4⽉20⽇、2014420、2014-4-20、2014 4 20、2041/4/201//将字符串转换为⽇期2//⽀持格式y-m-d ymd (y m r)以及标准的3 parse: function (dateStr, formatStr) {4if (typeof dateStr === 'undefined') return null;5if (typeof formatStr === 'string') {6//⾸先取得顺序相关字符串7var arrStr = formatStr.replace(/[^ymd]/g, '').split('');8if (!arrStr) return null;9var formatStr = formatStr.replace('y', '(\\{b}{4})');10var formatStr = formatStr.replace('m', '(\\{b}{1,2})');11var formatStr = formatStr.replace('d', '(\\{b}{1,2})');12var formatStr = formatStr.replace(/\{b\}/g, 'd');1314var reg = new RegExp(formatStr, 'g');15var arr = reg.exec(dateStr)1617var dateObj = {};18for (var i = 0, len = arrStr.length; i < len; i++) {19 dateObj[arrStr[i]] = arr[i + 1];20 }21return new Date(dateObj['y'], dateObj['m'], dateObj['d']);22 }23return null;24 },因为楼主正则不是很好,上⾯的代码应该不是最优写法,基本调⽤⽅法如下:console.log( dateUtil.parse('2012-4-1', 'y-m-d'));console.log(dateUtil.parse('2/4/2014', 'd/m/y'));console.log(dateUtil.parse('2014 4 3', 'y m d'));console.log(dateUtil.parse('2014年4⽉4⽇', 'y年m⽉d⽇'));console.log(dateUtil.parse('2012-04-05', 'y-m-d'));console.log(dateUtil.parse('06/4/2014', 'd/m/y'));console.log(dateUtil.parse('2014 4 07', 'y m d'));console.log(dateUtil.parse('2014年4⽉08⽇', 'y年m⽉d⽇'));//输出结果Tue May 01 2012 00:00:00 GMT+0800 (中国标准时间) 01.htm:229Fri May 02 2014 00:00:00 GMT+0800 (中国标准时间) 01.htm:230Sat May 03 2014 00:00:00 GMT+0800 (中国标准时间) 01.htm:231Sun May 04 2014 00:00:00 GMT+0800 (中国标准时间) 01.htm:232Sat May 05 2012 00:00:00 GMT+0800 (中国标准时间) 01.htm:233Tue May 06 2014 00:00:00 GMT+0800 (中国标准时间) 01.htm:234Wed May 07 2014 00:00:00 GMT+0800 (中国标准时间) 01.htm:235Thu May 08 2014 00:00:00 GMT+0800 (中国标准时间)从结果来看,返回时正确的,若是有什么不对,就再说吧。

vue.js实现日历插件使用方法详解

vue.js实现日历插件使用方法详解

vue.js实现⽇历插件使⽤⽅法详解今天要实现的功能就是以下这个功能:vue.js模拟⽇历插件好了废话不多说了直接上代码了css:*{margin: 0;padding: 0;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}#app{width: 1000px;margin: 10px auto;}.calender{width: 1000px;}.calender table{width: 1000px;}.calender table,th,tr,td{border:1px solid #333333;border-collapse: collapse;}.calender td{height: 100px;vertical-align: top;text-align: left;padding: 5px 0 0 5px;font-size: 13px;}.calender td.cur{color:red;}html:<div id="app"><div class="calender"><table><caption><select v-model.number="year"><option v-for="i of 490">{{i+1969}}</option></select><select v-model.number="month"><option v-for="i of 12">{{i}}</option></select></caption><thead><tr><th>周⽇</th><th>周⼀</th><th>周⼆</th><th>周三</th><th>周四</th><th>周五</th><th>周六</th></tr></thead><tbody><!--index 从0开始 i从1开始--><tr v-for="(a,index) of calender.length / 7" ><td v-for="i of 7" :class="{cur:calender[index * 7 + (i - 1)].cur }">{{calender[index * 7 + (i - 1)].fullDay}}</td> </tr></tbody></table></div></div>js:var vm = new Vue({el:'#app',data:{year:2018,month:1},computed:{calender(){var arr = [];//new data 有三个参数: 1,年 2.⽉ 3.默认是1 如果是0,表⽰上个⽉最后⼀天 - 前两天 3 后天 var nowMonthLength = new Date(this.year,this.month,0).getDate();var nowMonthFirstWeek = new Date(this.year,this.month-1).getDay();var lastMonthLength = new Date(this.year,this.month-1,0).getDate();console.log('本⽉有:'+nowMonthLength);console.log('本⽉第⼀天'+nowMonthFirstWeek);console.log('上个⽉长度'+lastMonthLength);// this.month = parseInt(this.month);//每个⽉的上⼀个⽉是哪⼀年的那⼀个⽉var pmonth = this.month == 1 ? 12 : this.month - 1;//上⼀年var pyear = this.month == 1 ? this.year - 1 :this.year;//下⼀⽉var nmonth = this.month == 12 ? 1 : this.month + 1;//下⼀⽉var nyear = this.month == 12 ? this.year + 1 : this.year;//补零函数// function toTwo(n) {// return n < 10 ? '0' + n : n;// }function buling(n) {return n.toString().length > 1 ? n.toString() : '0' + n.toString();}// 补充上个⽉的最后⼏天while(nowMonthFirstWeek--){arr.unshift({day:lastMonthLength,cur:true,fullDay:`${pyear}-${buling(pmonth)}-${buling(lastMonthLength)}`});lastMonthLength--}console.log(arr);//本⽉天数var _a = 1;while(nowMonthLength--){arr.push({day:_a,cur:false,fullDay:`${this.year}-${buling(this.month)}-${buling(_a)}`});_a++}//下个⽉补全var nextLength = arr.length > 35 ? 42 - arr.length : 35 - arr.length;_a = 1;while (nextLength--){arr.push({day:_a,cur:true,fullDay:`${nyear}-${buling(nmonth)}-${buling(_a)}`});_a++}return arr;}}})注意:需要先引⼊你本地的vue.js⽂件,才能正常运⾏哦以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

axure模板下载

axure模板下载

axure模板下载作为一个设计师或者产品经理,你是否有过需求文档、设计稿、原型模型等等的制作经历?如果有,那么你一定不会陌生axure这个工具。

axure是一个流行的原型设计工具,不仅可以制作高保真度的原型,也可以用于制作需求文档和设计稿。

在使用axure的过程中,如果有一些好用的模板,那么会大大提高工作效率。

而在本文中,我们将为你介绍一些优秀的axure模板供你下载使用。

一、数据统计模板在产品设计的流程中,数据分析和统计是不可或缺的。

这个模板可以帮助你制作出清晰、美观的数据图表,便于对数据进行分析。

同时,这个模板也提供了很多样式供你选择,可以根据你的需求快速制作出适合自己项目的一页数据分析页面。

二、电商模板电商模板是一个非常实用的模板,可以帮助你快速制作出一个符合电商网站需求的原型模型。

这个模板包含了电商网站常见的主页、商品详情页等页面模板,同时还附带了分类、购物车、用户管理等常用模块。

三、日历模板日历模板是一个设计精美的日历,包含了月视图和周视图。

而且这个模板的日历功能非常实用,能够帮助你方便地计划日程和安排工作。

四、登陆注册模板登陆注册模板是一个非常基础和常用的模板,可以帮助你快速制作出一个简洁美观的登陆注册页面。

这个模板的样式设计非常适合现代风格的网站,是一个不可多得的好模板。

五、APP模板APP模板是一个专门为APP设计而制作的模板。

这个模板帮助你快速设计APP初步的框架和功能。

虽然这个模板已经包含了APP常见的页面模板,但你仍然可以根据你的需求进行修改和完善。

六、时间轴模板时间轴模板是一个展示历史事件或者时间线的工具,非常适合制作策划、宣传或者教育类的PPT和展板。

这个模板包含了时间轴的基本元素,使用起来非常方便。

总之,axure模板是一个非常实用的工具,能够帮助你快速完成项目的原型和设计稿。

希望本文介绍的这些优秀模板能够为你提供一些帮助,同时也希望这些模板能够为你的工作效率和效果提供一些启发。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、下载日历组件
英文版将组件放MY Axure RP Libries
汉化版放我的AXURE RP部件库就行
2、在界面中拖入文本面板(选择日期)
文本框命名为data
选择一个合适的图标
在控制面板中拖入刚加入的日历插件
3、选择日期26号,在控制交互面板中点击onclick,弹出框中选择:
设置变量/部件值----- 打开值编辑器----文字在部件上----data-----值(2013-07-26)----确定
4、选中日历组件-----转换-----动态面板-----编辑-----隐藏(命名日历控件)
5、选择图标-----切换面板可见性------确定-------选择日历面板------点击动态面板状态-----
选择26-------用例1加入隐藏日历
注:设置其他日期只重复3、5步骤即可。

相关文档
最新文档