vue移动端实现日历
实现功能:左滑返回上一个月,右滑下一个月,支持农历,下拉展示记录日志,持续更新
思路:
获取本月日历中的上个月显示日期以及下个月显示日期,通过数组展现
核心代码;
getCurrentMonVal(year,month){month = month - 1let getWeekday = calendar.getWeekday(year,month)let getPreMonthCount = calendar.getPreMonthCount(year,month)let getMonthCount = calendar.getMonthCount(year,month)let preMon = []let mon = []let nextMon = []// 获取上个月内容(置灰部分)for (let i = getPreMonthCount.length - getWeekday+1; i <= getPreMonthCount.length; i++) {let lunarDay = getLunar(calendar.getPreMonth(year,month+1).year, calendar.getPreMonth(year,month+1).month, i)let solarFestival = festival.getSolarFestival(calendar.getPreMonth(year,month+1).month, i)let lunarFestival = festival.getLunarFestival(lunarDay.lunarMonth,lunarDay.lunarDate)preMon.push({solar: i,isCurrentMon: false,lunarDay: lunarDay,solarFestival: solarFestival, // 阳历节日lunarFestival: lunarFestival, // 农历节日isFestival: solarFestival || lunarFestival || lunarDay.solarTerm,agendas: data.agendas[calendar.dateFormater(calendar.getPreMonth(year,month+1).year, calendar.getPreMonth(year,month+1).month, i)]})}// 获取本月数据for (let i = 1; i <= getMonthCount.length; i++) {let lunarDay = getLunar(year, month+1, i)let solarFestival = festival.getSolarFestival(month+1, i)let lunarFestival = festival.getLunarFestival(lunarDay.lunarMonth,lunarDay.lunarDate)mon.push({solar: i,isCurrentMon: true,lunarDay: lunarDay,solarFestival: festival.getSolarFestival(month+1, i),lunarFestival: festival.getLunarFestival(lunarDay.lunarMonth,lunarDay.lunarDate), // 农历节日isFestival: solarFestival || lunarFestival || lunarDay.solarTerm,agendas: data.agendas[calendar.dateFormater(year, month+1, i)]})}// 获取下个月数据(置灰部分)for (let i = 1; i <= ((getWeekday+getMonthCount.length)<=35?35-getWeekday-getMonthCount.length:42-getWeekday-getMonthCount.length); i++) {let lunarDay = getLunar(calendar.getNextMonth(year,month+1).year, calendar.getNextMonth(year,month+1).month, i)let solarFestival = festival.getSolarFestival(calendar.getNextMonth(year,month+1).month, i)let lunarFestival = festival.getLunarFestival(lunarDay.lunarMonth,lunarDay.lunarDate)nextMon.push({solar: i,isCurrentMon: false,lunarDay: lunarDay,solarFestival: solarFestival,lunarFestival: lunarFestival, // 农历节日isFestival: solarFestival || lunarFestival || lunarDay.solarTerm,agendas: data.agendas[calendar.dateFormater(calendar.getNextMonth(year,month+1).year, calendar.getNextMonth(year,month+1).month, i)]})}return preMon.concat(mon).concat(nextMon)},
项目地址:https://gitee.com/lhyu/calendar
vue移动端实现日历相关推荐
- vue移动端项目日历组件,月周切换,点击进入上/下一个月
项目场景: Vue移动端项目的日历组件,移动端如果没有别的特别要求,一般用vant中的日历组件就OK,这里用的另一个.组件是网上找的,原网址:vue-hash-calendar,需要的请自行去看. 我 ...
- vue移动端日历组件 mintUi dateTime picker 设定开始和结束日期
vue移动端日历组件 mintUi dateTime picker 设定开始和结束日期
- html pc端万年历插件,# pc端个性化日历实现
pc端个性化日历实现 技术:vue => v-for.slot-scop 插槽域 需求:需要实现日历上每一天动态显示不同的信息 思路:运用vue 中 slot-scop 插槽域的知识点,将个性化 ...
- 解决vue移动端适配问题
解决vue移动端适配问题 参考文章: (1)解决vue移动端适配问题 (2)https://www.cnblogs.com/both-eyes/p/10106021.html 备忘一下.
- 手把手教你 Vue 服务端渲染
写在前面 在写这篇文章之前,我有写一篇 Vue 预渲染的教程 以及 在线示例,有需要的可以看一下~ [下面开始 Vue 服务端渲染] 服务端渲染 = SSR = Server-Side Renderi ...
- vue移动端项目缓存问题实践
最近在做一个vue移动端项目,被缓存问题搞得头都大了,积累了一些经验,特此记录总结下,权当是最近项目问题的一个回顾吧! 先描述下问题场景:A页面->B页面->C页面.假设A页面是列表页面, ...
- [vue] 移动端ui你用的是哪个ui库?有遇到过什么问题吗?
[vue] 移动端ui你用的是哪个ui库?有遇到过什么问题吗? vant,mint等等吧,各有各的坑,不过大部分都是可以查到解决方案的 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, ...
- vue移动端html5页面根据屏幕适配的四种解决方法
最近做了两个关于h5页面对接公众号的项目,不得不提打开微信浏览器内置地图导航的功能确实有点恶心.下次想起来了的话,进行总结分享一下如何处理.在vue移动端h5页面当中,其中适配是经常会遇到的问题,这块 ...
- Vue服务端配置示例
Vue服务端配置示例 后端配置示例 #Apache <IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /RewriteRule ^in ...
最新文章
- 交换机端口与mac_address的绑定
- centos下加入mysql环境变量
- python 获取当前class名和方法名
- 几款开源的图形化Redis客户端管理软件推荐
- Comparator 与 Comparable
- nginx注册为windows系统服务
- java中主线程首先执行_java经典面试题:子线程先运行30次主线程,主线程40次,如此循环50次?...
- python对浏览器的常用操作_Selenium元素的常用操作方法分析
- mysql聚合索引创建_为 MySQL 查询优化选择最佳索引
- python+appium自动化测试如何控制App的启动和退出
- Swagger注解-@ApiImplicitParams 和 @ApiImplicitParam
- 接口测试-jmeter
- 关于RadUpload上传问题总结
- Python中list.pop()的使用
- Android游戏源码链接
- gcc编译器下载各版本下载
- Linux消息队列实现进程间通信
- 小米路由器青春版刷Padavan固件
- 小林:采访Vue作者随想
- 你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。 抓取多少个就可以确定你肯定有两个同一颜色的果冻?(5秒-1分钟)
热门文章
- 【读书笔记】科技写作与交流 - 1.科技写作原则:文体及其构成
- #P07754. 加数
- 产品分析——外研随身学
- Effective Java 泛型 第28条:利用有限制通配符来提升API的灵活性
- 如何在 PHP 8.1 中使用枚举
- 微信、百家和U3W自媒体平台三国杀
- 服务器系统软件安全部署,Linux 服务器系统的安全配置
- Golang - [Iris] 日志写入与日志分割
- 数据库授予用户增删改查的权限的语句_MySQL授予权限(Grant语句)
- 新辰:十种外链终极方法 让SEOer外链之路不再孤独!