继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

原生js实现日期选择器插件

繁星点点滴滴
关注TA
已关注
手记 328
粉丝 67
获赞 333

前言

距离自己上次写插件差不多半年了。公司技术栈都是用框架,调解下口味就写了此原生插件。因为本意是想兼容到ie9就不用es6语法写了。前段时间在看vue源码受了点启发,本插件有点接近数据驱动视图更新的响应式渲染。如果希望有更多功能的,可在下方留言,我尽量扩展!如果你有需要或者喜欢的话,可以给我github来个star

仓库地址

在线预览

预览

拾色器

准备

首先在页面中引入css、js文件(文件在我的github,如何引入可看github示例html)

在页面中写上如下代码:

Calendar.create({     classN: 'calendar-item', // 这里的calendar-item可随意填 不需要跟我一样     callBack: function(bindElem, dateObj) {         // bindElem: 该控件绑定的元素         // dateObj: 选中的年、月、日 如: {year: 2018, month: 8, date: 12}         // 用户可通过bindElem和dateObj搞事情啦          bindElem.innerHTML = dateObj.year + '-' + dateObj.month + '-' + dateObj.date;     } })
String: classN:参数填入你要绑定日期控件的元素。本插件初始化的时候,会根据用户提供的classN类名生成相应个数

Function: callBack:bindElem: 该控件绑定的元素,dateObj: 选中的年、月、日 如: {year: 2018, month: 8, date: 12}。通过返回参数,让用户在回调函数中通过回调参数做操作,给用户更高的自由度。
如果需要更多回调方法,我会尽量扩展

结尾

如有什么功能需要增加的,可在评论区留言,我尽量满足。如有什么疏忽或错误,希望您指出。我会尽早修改,以免误导他人。

原文链接:https://segmentfault.com/a/1190000015973790

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP