美文网首页
一款js实现的周日历

一款js实现的周日历

作者: 17weiwei | 来源:发表于2017-08-27 00:12 被阅读0次

日历功能在我们的网页中很常见,比如一个活动发布页面,查看历史数据列表,条件搜索,订票,旅游等这些场景就少不了它。

开源的日历插件也是一搜一大把,功能多样,基本上能满足需求。

说到周日历应用,在我过往的大量项目中,没有它的身影。但在这需求爆炸的年代,再奇葩或者是再蹩脚的需求都会有,只有你做不到,没有需求想不到。相比以月为单位显示的日历,以周为单位显示的日历也更简洁明了。等不及了吗,那就一睹为快吧。你可以狠狠点击:手写js周日历控件,不依赖jQuery

图1,以月为单位的日历(laydate) 图2,以周为单位的日历

某天,某部门的前端同事问我有没有见过周日历的插件,他们有一个后台管理项目需要用到周日历。我用度娘搜索了很久,然而并没有找到。于是乎,我只好自己开撸了。

实现这个周日历,首先我们要了解下这个需求包含的一些关键点。即视图以周形式展现,交互包含了当天日期高亮,支持左右点击查看前一周后一周。

清楚需求之后,那就开始组织代码结构了。

1、基础准备。我封装了简化获取dom操作的方法,缓存元素,获取当天的年月月。

2、创建星期。也就是周日到周一。

3、创建一周7天日期。这个要分两步走。第一步是要计算过去或者是未来的某一天,第二步是根据得到的某一天来推导出一周的日期。

4、前面三步骤都ok了,那么就是初始化一个周日历视图了。

5、然后就到点击前一周和后一周新周日历视图了。

6、最后是点击当天日期的回调。这个就方便做一些数据交互了。

最终实现的效果如图2。视图以周形式展现,包含了当天日期高亮,支持左右点击查看前一周后一周日期,点击的时候有高亮效果以及提供了一个回调方法,参数是一个包含点击时候拿到的年月日对象。

本周日历控件没有依赖jQuery,注释也很详细。代码已经托管到github上了。点击 :手写js周历控件,不依赖jQuery进入download或者clone。

原来的需求实际上还有一个显示第几周的,计算第几周的方法来源于js 获取某年的某天是第几周,但貌似有点点问题,我也就没有在视图上显示出来了。

相关文章

  • 一款js实现的周日历

    日历功能在我们的网页中很常见,比如一个活动发布页面,查看历史数据列表,条件搜索,订票,旅游等这些场景就少不了它。 ...

  • JS实现日历

    最近在捣鼓一个chrome插件,包括两个功能:1.倒计时,2.日历。 大致是下面这个样子: 倒计时模式倒还简单,日...

  • 高仿小米日历

    一款仿miui,仿小米,日历,周日历,月日历,月视图、周视图滑动切换,农历,Andriod Calendar , ...

  • 原生JS实现日历组件

    想要实现的效果 点击日期选择框出现日历 有个日期控制栏帮助选择日期, 包括年、月、日的选择和今天 日历格子,初次点...

  • Vue纯JS实现日历

    效果图 不说废话,先上效果图: 实现代码 核心方法是pushDays() 思路 为了日历的完整和美观,采用的6行 ...

  • 点击悬浮按钮进行日历选择并监听日历时间数据的变化

    在Android中需要时间日历选择功能的APP不少,但是实现日历功能都比较麻烦,在这里使用一款第三方开源库快速实现...

  • 仿小米日历

    仿MIUI日历 一款仿miui日历,月视图,周视图滑动切换,时间从1901-01-01到2099-12-31 支持...

  • js 实现一个日历

    1.显示年份&月份 2.添加日历数据.1 月份的1日根据星期来排序 ( 如1月1日是星期三,此时需要将1移动到星期...

  • 用JS实现Windows日历(一)

    整体效果图 时钟绘制与运转 生成刻度 js的实现 思路1.首先只是个圆,并没有刻度,需要生成12个刻度,这刻度就是...

  • 07-JS小案例

    一、电子日历 准备工作:实现HTML的排版 JS代码实现版本: 二、华容道游戏 需要完成此游戏,需要以二维数组和监...

网友评论

      本文标题:一款js实现的周日历

      本文链接:https://www.haomeiwen.com/subject/fxtbdxtx.html