热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Calendar『为移动端而生』的自定义日历

Calendar–AFlexibleCalendarforMobileIntroCalendarwasbornforseveralproductrequirementsinthem
Calendar – A Flexible Calendar for Mobile

Intro

Calendar was born for several product requirements in the mobile. It’s free, cute and customized.

The Calendar was builded by protogenic Javascript. So you can use it with jQuery,Vue, React, and so on.

github — https://github.com/AppianZ/calendar, 欢迎使用

中文文档在后面~

《Calendar -『为移动端而生』的自定义日历》

Calendar – 自我介绍

Calendar是为了满足移动端对各种场景的需求而生的,兼容性强,灵活度高。

原生插件,可以与任何框架配合使用。

特色功能

  • ☑️ 限制时间范围,精确到【日期】

  • ☑️ 有【直接布局】和【弹层显示】两种不同调用样式

  • ☑️ 自由设置【月份和星期的中英文显示】、【星期天的排序位置】和【切换操作】

  • ☑️ 利用回调控制【每一个日期】的不同样式

  • ☑️ 可以【选中】时间点,或【时间范围】

  • ☑️ 可以根据实际需要,【调整预判手势的灵敏度】

亲自体验一下demo:⬇️⬇️⬇️

Demo & NPM

  • Calendar Demo

  • Calendar NPM

How To Use

1. html中:



我是一个点击区域,大家快来点我



2. js中:

// 方式一, 直接引用

// 方式二, 引入npm包
import Calendar from 'mob-calendar';

如何正确生成实例,请看参数列表:⬇️⬇️⬇️

参数列表

参数名称作用类型取值是否必须
clickTarget触发弹层的dom元素ID{String}–×
container日历容器的dom元素ID{String}–
angle调整预判手势的灵敏度{Number}建议5-20×
isMask布局是否使用弹层样式{Boolean}true:弹层显示, false:正常布局
beginTime开始时间点{Array(Number)}数组的每一位分别是年月日,空数组默认1970年1月1日
endTime结束时间点{Array(Number)}数组的每一位分别是年月日,空数组默认次年12月31日
recentTime当前时间点{Array(Number)}数组的每一位分别是年月日,空数组默认当前月1日
isSundayFirst星期天是否要放在第一列{Boolean}true:星期日在第一列, false:星期日在最后一列
isShowNeighbor是否展示相邻月份的月尾和月头{Boolean}true:显示相邻月份的月尾和月头, false:不显示
isToggleBtn是否展示左右切换按钮{Boolean}true:显示左右切换按钮, false:不显示
isChinese是否展示中文星期{Boolean}true:显示中文星期简写,false:显示英文星期简写
monthType月份的展示字符{Number 0-3}0:1月, 1:一月, 2:Jan, 3: January
canViewDisabled是否可以阅读不在范围内的月份{Boolean}true:无限滑动,false:只查看时间范围内的月份
beforeRenderArr初次渲染时给特殊日期指定样式{无序Array(Object)}数组元素有两个参数 指定时间戳stamp{Number}指定样式名字className {String},详见下文
success点击某个日期的回调{Fuction(item, array,cal)}返回3个自带参数,item表示当前点击的时间戳,array表示连续两次点击的两个时间戳,cal 指向实例
switchRender日历切换后的回调{Fuction(year, month, cal)}返回3个自带参数,year表示新生成的年份,month表示新生成的月份(从0开始), cal 指向实例

js中:

// 渲染时给特殊日期指定样式的数据格式
beforeRenderArr: [{
stamp: 1512057600000, // 指定某个时间戳
className: 'disable', //指定该时间戳渲染的样式
}]

html中:

// 渲染后的效果如下
// li 是一个矩形,i 是圆形


  • 2
  • 原型链暴露的函数作用示例
    renderCallbackArr渲染传入的数组data,用于指定特定日期的特定样式, 数组databeforeRenderArr 的数据格式一致cal.renderCallbackArr(data)
    prevent方便在回调中阻止默认事件cal.prevent()
    hideBackground在弹窗模式中,可能需要用到的隐藏弹层的函数cal.hideBackground()

    Logs

    2017.5.8(add)

    • 正式发布第一版日历

    Authors

    如果你遇到了什么神bug,请发起ISSUE联系我 ~

    我是嘉宝Appian,一个卖萌出家的算法妹纸。


    推荐阅读
    • 开发笔记:加密&json&StringIO模块&BytesIO模块
      篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
    • Java容器中的compareto方法排序原理解析
      本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
    • 安卓select模态框样式改变_微软Office风格的多端(Web、安卓、iOS)组件库——Fabric UI...
      介绍FabricUI是微软开源的一套Office风格的多端组件库,共有三套针对性的组件,分别适用于web、android以及iOS,Fab ... [详细]
    • 标题: ... [详细]
    • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
    • 集合的遍历方式及其局限性
      本文介绍了Java中集合的遍历方式,重点介绍了for-each语句的用法和优势。同时指出了for-each语句无法引用数组或集合的索引的局限性。通过示例代码展示了for-each语句的使用方法,并提供了改写为for语句版本的方法。 ... [详细]
    • Python SQLAlchemy库的使用方法详解
      本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
    • 如何使用Java获取服务器硬件信息和磁盘负载率
      本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
    • 树莓派Linux基础(一):查看文件系统的命令行操作
      本文介绍了在树莓派上通过SSH服务使用命令行查看文件系统的操作,包括cd命令用于变更目录、pwd命令用于显示当前目录位置、ls命令用于显示文件和目录列表。详细讲解了这些命令的使用方法和注意事项。 ... [详细]
    • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
    • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
    • 如何用UE4制作2D游戏文档——计算篇
      篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
    • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
      本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
    • CF:3D City Model(小思维)问题解析和代码实现
      本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
    • position属性absolute与relative的区别和用法详解
      本文详细解读了CSS中的position属性absolute和relative的区别和用法。通过解释绝对定位和相对定位的含义,以及配合TOP、RIGHT、BOTTOM、LEFT进行定位的方式,说明了它们的特性和能够实现的效果。同时指出了在网页居中时使用Absolute可能会出错的原因,即以浏览器左上角为原始点进行定位,不会随着分辨率的变化而变化位置。最后总结了一些使用这两个属性的技巧。 ... [详细]
    author-avatar
    我_不是无双
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有