发布网友 发布时间:2022-04-20 18:28
共13个回答
懂视网 时间:2022-05-14 19:29
本篇文章给大家带来的内容是关于如何基于moment实现日期可左右滑动的日历?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。效果如图(日期可左右滑动)
思路:
1、先得到相邻三个周的数据,初始化的时候讲容器向左移动一个视口的距离,确保中间周在可视范围(在可是范围的所用为1)
2、触摸移动阶段,比如向左移动,相当于改变可是范围的索引,也就是2,即向左移动过两个视口的范围
3、移动结束,这时右边已经没有待显示的数据,需要重组数据,再向后加一周,使当前显示的周在中间,同时需要改变显示的索引为1
在当前视口内显示本周的7天,由于需要滑动,所以事先还需要把今天以前的一周和以后的一周准备好
let today = moment().format('YYYY-MM-DD') // 当前日期:"2018-09-14" moment(today).subtract(7, 'd').format('YYYY-MM-DD') // 上一周的今天:"2018-09-07" moment(today).add(7, 'd').format('YYYY-MM-DD') // 下一周的今天:"2018-09-21"
得到数组: dates
由此数据可以生成三个模板,分别表示上周,本周和下周,再根据此数据,计算上周,本周和下周的详情。
getDays: function (day) { let arr = [] /* 计算传进来的日期为星期几 */ let weekOfDate = Number(moment(day).format('E')) // 提前定义好的: this.week = ['一', '二', '三', '四', '五', '六', '日'] for (let i = 0; i < this.week.length; i++) { arr.push( { date: moment(day).subtract(weekOfDate - i - 1, 'd').format('YYYY-MM-DD'), week: this.week[i] } ) } return arr }
遍历数组dates。分别传进getDays可的到三周的详情
然后遍历数组进行页面渲染
<template v-for="(item, index) in dates"> <p class="slider"> <p class="day" v-for="(day, dayIndex) in getDays(item.date)"> <p :class="{today: day.date === defaultDate}">{{day.date.split('-')[2]}}</p> </p> </p> </template>
这里,静态显示已经完成
改写上方的页面渲染代码
<p class="week-slider"> <p class="sliders" ref="sliders" @touchstart="touchStart" @touchmove="touchmove" // 初始样式,应该向饰扣左方移动一个视口的距离,确保当前周在中间 :style="getTransform" @touchend="touchend" @webkit-transition-end="transitionEnd" @transitionend="transitionEnd"> <template v-for="(item, index) in dates"> <p class="slider"> <p class="day" v-for="(day, dayIndex) in getDays(item.date)"> <p :class="{today: day.date === defaultDate}">{{day.date.split('-')[2]}}</p> </p> </p> </template> </p> </p>
// actIndex: 当前活动视图的缩影,初始为1,sliderWidth:视口的宽度, distan: {x:0, y: 0}: 触摸移动的距离 // getTransform: function () { this.endx = (-this.actIndex * this.sliderWidth) + this.distan.x let style = {} style['transform'] = 'translateX(' + this.endx + 'px)' // 这一条必须写,因为触摸移动的时候需要过渡动画,但是在动画结束重组数据的时候需要瞬间回到该去的位置,不能要过渡动画 style['transition'] = this.isAnimation ? 'transform .5s ease-out' : 'none' return style }
最后触摸时间处理:
touchStart: function (e) { this.start.x = e.touches[0].pageX }, touchmove: function (e) { // 这里需要过渡动画 this.isAnimation = true this.distan.x = e.touches[0].pageX - this.start.x // 需要移动的容器 let dom = this.$refs.sliders // 向左 this.endx = this.endx + this.distan.x dom.style['transform'] = 'translateX('+ this.endx + 'px)' }, touchend: function (e) { this.isAnimation = true this.distan.x = e.changedTouches[0].pageX - this.start.x // 向右 if (this.distan.x > 0) { this.direction = 'right' this.actIndex = 0 } else if (this.distan.x < 0) { this.direction = 'left' this.actIndex = 2 } this.distan.x = 0 },
过渡结束后重置容器位置
// 过渡结束 transitionEnd: function () { this.isAnimation = false if (this.actIndex === 2) { this.dates.push({ date: moment(this.dates[this.actIndex].date).add(7, 'd').format('YYYY-MM-DD') }) this.dates.shift() this.actIndex = 1 }else if (this.actIndex === 0) { this.dates.unshift({ date: moment(this.dates[this.actIndex].date).subtract(7, 'd').format('YYYY-MM-DD') }) this.dates.pop() this.actIndex = 1 } }
热心网友 时间:2022-05-14 16:37
在这里我推荐这六个时间管理类APP:Moment、atimelogger2、Forest、番茄钟、奇妙清单、爱今天
1.Moment
想知道自己手机党成了什么样子吗?ISO可以选择下载一个Moment,记录几天,你就知道自己是多么离不开手机了。安卓这方面也有很多APP,因为我现在换成了苹果手机,就不做详细推荐了。
2.atimelogger2
可以详细记录每日不同事物的花费情况这个APP能够根据以天、周、月为单位自动生成饼图,能够更加直观的感知时间情况
3.番茄钟
专注25分钟,获得一个番茄钟;25分钟之后,可以设置5分钟的休息时间,也可以是10分钟。是一个很好兼顾专注与休息的APP。
4.Forest
如果不那么喜欢番茄钟,不妨试试种树。这个APP,很多人推荐过,因为它把番茄钟的工作原理游戏化了,变得生动有趣。——每次开启一个25分钟的专注时间,你就开始种一棵树,如果这个过程中,你去碰手机,这颗树就会枯死。有意思吧。
5.奇妙清单
进入时间管理,就需要先管理自己的事务清单。奇妙清单相比TODOlist类型的APP,更适合入门学者,能够清晰地管理自己的事务。与此同时,还可以和PC端随时进行同步
6.爱今天
安卓独有,这是我在早起践行手写时间管理期间,有人向我推荐的。
记录时间,管理自我。
我是沐尤一,微信ID:muyouyi2017
热心网友 时间:2022-05-14 17:55
1. 清单类
"滴答清单”和“奇妙清单”
可以按照自己的意愿来创建各种清单,比如日常清单、习惯清单、将来清单等等,还可以为每项任务设置优先级别、完成期限、提醒等等。
有了清单软件你就可以随时随地查看自己的行程安排,以防遗漏。
2. 制定计划类
“Doit.im”
这款软件能够非常清晰的帮助我们做计划,把所有事情分为:今日待办、明日待办、将来也许等等。
还能帮我们将复杂的任务分解开,梳理出下一步行动是什么。
3. 习惯养成类:
“PlayTask”
你可以在“PlayTask”软件中上传自己的任务和想要养成的习惯,给每一个任务设定经验值,然后为自己设置*清单。
完成相应的任务就可以赚取经验值,来获得*清单中的物品了。于是工作就变得轻松起来,像是在打游戏一样,帮助自己养成习惯。
4. 时间记录类:
“Timetrack”
觉得自己时间不够用的人,先不要着急做时间管理,可以先从记录自己的时间开销开始,看看你究竟把时间都用到了哪里。
“Timetrack”里设置了工作、睡眠、用餐、运动等主题,你也可以根据自己的需要添加其他主题。
记录时间的操作方法也很简单,在开始做一件事情的时候点一下,完成的时候再点一下就完成了记录,随后还能为每一条记录添加备注。你还可以将时间日志导出来,在电脑上作分析。
5. 提升专注力类
“Forest”、“潮汐”
“Forest”是我一直都在使用的软件,配合番茄工作法特别好用。
在开始学习、工作的时候种下一颗种子,专注工作的同时,种子就会长成大树。如果在这期间玩手机或者看其他APP,树苗便会枯死。“Forest”可以记录下我们每天的专心森林。
“潮汐”则是一款通过白噪音促进人们达到心流体验的软件,也是跟番茄工作法结合,让人们在25分钟的时间内专注于工作和学习中。
以上就是我用过的最好的时间管理工具,希望对你有所帮助。
我是“强大的小萌萌”,用一年的时间成长为自己想要的样子,如果你有个人成长方面的问题,欢迎关注,我们来一起变强大。微信公众号:【强大的小萌萌】
热心网友 时间:2022-05-14 19:30
第一类:代办清单
譬如:奇妙清单、嘀嗒清单(这些软件是记录下你今天需要做的事情,属于代办类时间管理软件,适用于不固定事项的记录,以天为单位)
第二类:日历
例如:朝夕日历或者系统自带日历(以月为单位,记录重要的事情)
第三类:时间记录
记录时间流水
例如:爱今天
(1.“爱今天“的使用方法是先添加一个目标,譬如写作,然后记录每天在这个目标上所花费的时间即可,爱今天推荐的是最好不要超过十个目标
2.一天之中做了哪些事情一目了然。一天、一周、一个月、三个月甚至更长时间里你对于某一个目标的投入时长是多少,都可以量化出来。)
第四类:里程碑
例如:fancy days,倒数日
(适用场景:结婚纪念日,今年还有多久,创业第几天等等一些具有里程碑的时间节点)
第五类:时间监控
苹果moment 电脑 Rescutime
第六类:习惯打卡
种子习惯,微习惯
第七类:专注当下
目的:排除干扰,专心做事
app:forest/番茄工作法/潮汐
(适用场景:需要专注做某件事情的时候,潮汐软件会配合一些白噪声,帮助你更专注;而forest是通过专注一定的时长之后,成功种植一颗小树,提高自己的专注力)
热心网友 时间:2022-05-14 21:21
20多款时间管理软件,有你没听过的吗?
你是不是想用工具管理个人事务,制定计划,但苦于找不到合适的?
别急,我整理了这份清单给你!慢慢看,相信能让你找到合适的!
清单有详有略,综合这几年所了解的个人计划工具,多数是APP,排名不分先后。
对于常见的计划工具,从平台与特色两方面做了简要介绍;对于其它类,主要以罗列为主。
一、常见
Doit.im
平台:Android/Windows/Web/苹果全平台
特色:国产,同步速度有保证。界面清新简洁。根据传统GTD时间管理方法设计,功能齐全。快速添加任务十分方便,Web支持任务批量导入。全球超过600万用户。
Wunderlist
平台:Android/Windows/Web/苹果全平台
特色:由德国公司于2011年开发,2015年6月被微软收购。目前没有收费版本,拓展性强,颜值较高,可自行改造成较为符合GTD时间管理流程的形式,没有地点分类功能。任务等级分星标、无星标两种。中文名叫奇妙清单。
滴答清单
平台:Android/Web/iOS
OmniFocus
平台:苹果全平台
特色:根据传统GTD时间管理方法设计,功能齐全。提供了任务的树形嵌套功能。可定制性很强,功能强大,动手强的用户可以玩出非常多的花样。
日事清
平台:Android/Windows/Web/苹果全平台
特色:国产。核心功能是日程管理、任务协作和工作笔记,三者有机结合互为一体,上手容易。将一天的任务划分为四个象限(重要紧急、重要不紧急、不重要紧急、不重要不紧急)填入。
高效Todo
平台:Android/Web/iOS
特色:主打“专注于最有意义的事”,将一天的任务划分为四个象限(重要紧急、重要不紧急、不重要紧急、不重要不紧急)填入。采用了时间轴的形式来组织任务。
Any.DO
平台:Android/Web/iOS
特色:轻量级产品,可以跟google task完美同步。在网页版可以切换成“便利贴工作墙”的模式,可以更方便地拖曳改变某件任务的位置,扩大综观视野。
二、其它
(一)日程式
365日历
朝夕日历
rSunrise Calenda
rSolCalendar
Toodledo
Microsoft Outlook
(二)小众式
Remember the Milk (Web)
高效e人
swipes
MinimaList
AwesomeNote
Clear
(三)笔记式
为知笔记
有道云笔记
印象笔记
Microsoft Word/ Excel/OneNote
——
发愤的草莓,著有干货新书《现在就干》,
专注时间管理与妈妈精力管理,
陪你把琐碎生活变成像游戏一样好玩。
家有2宝,上班之余耕耘公众号“发愤的草莓”(neverstop201508),每天5点晨起。
热心网友 时间:2022-05-14 23:29
我使用的时间管理软件
我是通过 Worktile 来进行事务管理。建立三个列表,每天把「近期必处理」和「重要日常」过一遍,偶尔有时间关注一下「不重要不紧急」的事(当然对于处理日常事务并达到专注高效的目的使用番茄法也是挺不错的,而且两者也可以结合起来使用)。
除了以上3个主要的 TODO 列表之外,我还添加了「done」和「目标」两个列表,把完成了的任务放到「done」中,每周进行回顾、总结与归档。「目标」里面定了短期、中期、长期和终极四种目标,作为3个主要 TODO 列表的参照。如果有新任务加到 TODO 里面时,能为目标服务的任务的就放到「近期必处理」或「重要日常」中,否则放到「不重要不紧急」中。
Worktile 本是团队协作工具,因为现在的公司用的就是 Worktile,接触之后就觉得挺不错,除了团队协作还有其他一些妙用,和其他一些专注项目团队协作工具相比,Worktile 更具有范性。例如,我打算将来能够能和家里人一起在上面管理一些事务,如,里面放一些日用品购买清单、近期家庭活动的组织与讨论等,把团队协作的理念用到生活中,达到生命的大和谐。
TODO 提醒我用 Google 日历,我会在每天固定的某个时间花半个小时用于 GTD,其中包括 Google 日历的日程安排。日历的使用方式也是很简单,先在 web 端根据 Worktile 里的 TODO 来分配第二天的时间。然后手机端设置提前 10 分钟提醒,一旦手机收到了提醒,就准备开始任务,如果任务没完成,手机上的提醒就不消除,逐渐发现这种方法解决了拖延症的问题。
Google 日历同时也可以作为时间消费表,每一分每一秒是怎么过的都可以在日历看到,当然,这些时间是一秒秒地消耗还是一秒秒地积累,就看谁能和你一起创造美好的回忆而已。
热心网友 时间:2022-05-15 01:54
好用的时间管理软件要具备记事、提醒、重复提醒、任务清单等功能,推荐:敬业签热心网友 时间:2022-05-15 04:35
公司再用tita,时间管理还是不错的,还有app端比较方便。热心网友 时间:2022-05-15 07:33
个人的管理还是企业的呢,可以看下tita。个人版公司版做的都不错热心网友 时间:2022-05-15 10:48
有档期,一款日程管理软件,界面风格极其简洁,进去首页宛如一个小记事本一样,创建任务的方式也很像是在做笔记,完成一项,即点已完成,还有贴心监督功能,省时省力。热心网友 时间:2022-05-15 14:19
我自己用tita 做工作计划和学习日程 很有帮助哦热心网友 时间:2022-05-15 18:07
tita吧热心网友 时间:2022-05-15 22:12
短期看,时间管理重在执行;但从长期看,目标和计划将发挥方向性的作用,指导自己的行为,这时规划能力就非常重要了。一个真正能实现时间管理的软件还需要一个懂得时间管理理念的执行者。