首先利用date拿到年月日

月记得+1 ,因为是从0开始的

先遍历月份,跨年年+1 ,月归至1;

然后遍历天数,

lastDat = new Date(val.year,val.month,0).getDate  ; 这个表达式可以获得当前月的最后一天,就不用取分闰年或者平年了;一句代码就可以解决很多判断,这个是蛮不错的。
获取月最后一天,就可以拿到每个月了。自己想遍历多少就多少;
 

来一个二维数组,在里面加自己想要的属性

如果需求需要加节假日,就给一个数组,遍历天数是满足条件则显示对应的名字;

如果需求需要加忙碌时间,或者特定区间段里价格不同,搞特价就利用map遍历月份,将满足条件的添加属性标志位即可。

可以考虑,用我这个方法。将不同年不同月不同日或者同年不同月不同日或者同年同月不同日的筛选出来;

然后想点击入住或者离店;

在这之前先给标签加data-i 以及 data-x   一个是标签所在的月份,一个是标签所在的天数;就可以做对应的改变样式

入住是第一次点击,离店时第二次点击;

做一个判断;

入住则改变对应月份里的天数的样式;当然要遍历一下;(点击事件,然后获取当前点击元素的对应所在月份和对应所在天数);

离店则要拿到离店对应的月份里的天数和入住对应的月份里的天数;俩者做差,将天数算出;(同一个点击事件,判断是不是第一次点击,可以把第一次点击的月份和天数存在一个对象里,判断这个对象是否存在值,存在则是第一次点,不存在则第二次点击);

然后进行遍历,由于遍历的时候当前月的索引是0,所以只用考虑月份和天数;判断月份如果第二次点的月份减去第一次的月份是0 则是同月 ;   同月就相减即可; 反之 则是跨月或者跨年(这时候跨年和跨月是一样的,因为转化为了数组索引;索引没有负数,所以只有0 和 整数),就把遍历 (月的天数减去当前索引月份的天数)+后面几个月的天数  )  ;

根据条件判断是跨年还是跨月,如果跨月则天数归零,月份加一;

这样头,中间,尾巴都出来了;

最后做的处理就是其他的状况,出现这些状况就只会出现入住状态;像美团那种感觉;

微信小程序酒店日历超强功能的更多相关文章

  1. 微信小程序仿朋友圈功能开发(发布、点赞、评论等功能)

    微信小程序仿朋友圈功能开发(发布.点赞.评论等功能) 1.项目分析 项目整体分为三个部分 发布 展示 详情页 graph LR 朋友圈发布 --内容发布--> 内容展示 内容展示 --点击展示卡 ...

  2. 微信小程序产品定位及功能介绍

    产品定位及功能介绍 微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验. 小程序注册 注册小程序帐号 在微信公众平台官网首页(mp.weixin.qq ...

  3. 让你的微信小程序具有在线支付功能

    前言 最近需要在微信小程序中用到在线支付功能,于是看了一下官方的文档,发现要在小程序里实现微信支付还是很方便的,如果你以前开发过服务号下的微信支付,那么你会发现其实小程序里的微信支付和服务号里的开发过 ...

  4. (三)微信小程序首页的分类功能和搜索功能的实现笔记

    就在昨天,微信宣布了微信小程序开发者工具新增“云开发”功能 下载最新的开发者工具,现在无需服务器即可实现小程序的快速迭代! 分类功能和搜索功能的效果图 1.首页分类功能的实现 boxtwo方法(.js ...

  5. 微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能

    微信小程序+WEB使用JS实现注册[60s]倒计时功能开发步骤: 1.wxml页面代码: <text>绑定手机</text> <form bindsubmit=" ...

  6. 微信小程序开发平台新功能「云开发」快速上手体验

    微信小程序开发平台刚刚开放了一个全新的功能:云开发. 简单地说就是将开发人员搭建微信小程序后端的成本再次降低,此文刚好在此产品公测时,来快速上手看看都有哪些方便开发者的功能更新. 微信小程序一直保持一 ...

  7. 微信小程序又一爆炸功能上线-云开发

    云开发介绍 开发者可以使用云开发开发微信小程序.小游戏,无需搭建服务器,即可使用云端能力. 云开发为开发者提供完整的云端支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开 ...

  8. 微信小程序中悬浮窗功能的实现(主要探讨和解决在原生组件上的拖动)

    问题场景 所谓悬浮窗就是图中微信图标的按钮,采用fixed定位,可拖动和点击. 这算是一个比较常见的实现场景了. 为什么要用cover-view做悬浮窗?原生组件出来背锅了~ 最初我做悬浮窗用的不是c ...

  9. 微信小程序——极点日历使用方法

    极点日历github项目地址 添加至自己的小程序方法 极点日历属性接口文档 代码实例: xml: <calendar calendar-style="calendar" he ...

随机推荐

  1. “不是不需要运维工程师,是人人皆是运维”|对话阿里云MVP蒋烁淼(上)

    摘要: 与湖畔大学首期学员.阿里云MVP.驻云创始人蒋烁淼面对面 [三位阿里云MVP(驻云CEO.首席架构师.大数据总监)<MVP时间>首次同台授课,“湖畔第一大脑” 蒋烁淼领头线上精讲, ...

  2. 2018-9-19-Roslyn-通过-Nuget-管理公司配置

    title author date CreateTime categories Roslyn 通过 Nuget 管理公司配置 lindexi 2018-9-19 10:57:5 +0800 2018- ...

  3. @topcoder - TCO19 Regional Wildcard Wildcard Round - D1L2@ Diophantine

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 令 p[] 为质数序列:p[0] = 2, p[1] = 3, ...

  4. @codeforces - 1209H@ Moving Walkways

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 机场中常常见到滑行道:假如一个滑行道的运行速度为 s,你的行走速 ...

  5. 9-1进程,进程池和socketserver

    一 进程: # 什么是进程 : 运行中的程序,计算机中最小的资源分配单位# 程序开始执行就会产生一个主进程# python中主进程里面启动一个进程 —— 子进程# 同时主进程也被称为父进程# 父子进程 ...

  6. Oracle中组合索引的使用详解(转)

    在Oracle中可以创建组合索引,即同时包含两个或两个以上列的索引.在组合索引的使用方面,Oracle有以下特点: 1. 当使用基于规则的优化器(RBO)时,只有当组合索引的前导列出现在SQL语句的w ...

  7. @雅礼集训01/10 - T1@ matrix

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个矩阵.求它的所有子矩阵中本质不同的行的个数之和. inp ...

  8. H3C 802.11无线网络的介质访问控制

  9. 队列&优先队列

    1.队列 普通的队列都是先进先出,元素从队尾添加,从队头删除. function queue(){ var arr=[]; this.enqueue=function(item){ arr.push( ...

  10. Android 设置TextView字体颜色

    设置TextView字体的颜色其实很简单,尤其是直接在XML文件中,可以直接通过textColor属性指定颜色值,达到设置文本颜色的效果:那在代码中如何动态设置字体的颜色值呢? 接下来,介绍如何通过J ...