在日常的网页开发过程中,日期组件已经成为不可或缺的组件之一。同时,随着广大杰出攻城狮的不懈努力,也出现了很多优秀的日期组件,其中我个人觉得 layDate 日期组件是一个非常不错的组件,简洁易用,样式清爽。

此文主要以 layDate 组件进行日期选择的演示,敬请各位小主们参阅,若有不足之处,敬请大神指正,不胜感激!

闲不多言,直接上码。

演示文档的工程目录如下图所示:

laydate-demo.html 对应的源代码为:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>laydate 日期插件演示示例</title><script type="text/javascript" src="laydate/laydate.js"></script><script type="text/javascript" src="js/dateUtil.js"></script><link rel="stylesheet" type="text/css" href="css/page.css" /></head><body><div class="box"><h3>laydate API:</h3><pre>一、核心方法:laydate(options);options是一个对象,它包含了以下key: '默认值'elem: '#id',   // 日期显示元素选择器,laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'event: 'click',   // 触发事件。如果没有传入event,则按照默认的clickformat: 'YYYY-MM-DD hh:mm:ss', // 日期格式istime: false,   // 是否开启时间选择isclear: true,   // 是否显示清空istoday: true,   // 是否显示今天issure: true,   // 是否显示确认festival: true,   // 是否显示节日min: '1900-01-01 00:00:00',  // 最小日期max: '2099-12-31 23:59:59', // 最大日期start: '2014-6-15 23:00:00',  // 开始日期fixed: false,   // 是否固定在可视区域zIndex: 99999999,  // css z-indexchoose: function(dates){  // 选择好日期的回调}二、其它方法/属性laydate.v  // 获取laydate版本号laydate.skin(lib); // 加载皮肤,参数lib为皮肤名 /*layer.now支持多类型参数。timestamp可以是前后若干天,也可以是一个时间戳。format为日期格式,为空时则采用默认的“-”分割。如laydate.now(-2)将返回前天,laydate.now(3999634079890)将返回2096-09-28*/layer.now(timestamp, format); // 该方法提供了丰富的功能,推荐灵活使用。laydate.reset();  // 重设日历控件坐标,一般用于页面dom结构改变时。无参</pre></div><div class="box"><h3>演示一:直接调用 laydate,无参调用</h3><input placeholder="请输入日期" class="laydate-icon" οnclick="laydate()"></div><div class="box"><h3>演示二:js外部调用</h3><input class="laydate-icon" id="demo" value="2014-07-18"></div><div class="box"><h3>演示三:图标触发日期</h3><input id="ico" readonly><span class="laydate-icon" οnclick="laydate({elem: '#ico'});"></span></div><div class="box"><h3>演示四:自定义日期格式</h3><input id="custom_date_format" class="laydate-icon"></input></div><div class="box"><h3>演示五:基于当前日期控制日期范围</h3><input id="custom_date_scope" class="laydate-icon"></input></div><div class="box"><h3>演示六:显示日期和时间</h3><input id="custom_date_full" class="laydate-icon"></input></div><div class="box"><h3>演示七:双日期范围显示限制</h3>有效时间:<input id="time_start" class="laydate-icon"></input> --- <input id="time_end" class="laydate-icon"></input></div><div class="box" style="text-align:center"><p>以上,就是基于 layDate 进行的日期组件演示。<br>个人觉得,其是一款非常不错的日期插件,对其皮肤样式,我个人比较倾向选择 淡蓝 的样式,简洁明快。<br>以下为相应的参考链接以及 layDate 插件下载的目录(内含所需的皮肤)。</p><a href="http://www.w3school.com.cn/jsref/jsref_obj_date.asp" target="_blank">JavaScript Date 对象</a><a href="http://yunpan.cn/ccMrbLZbZgMQC" target="_blank">layDate 插件(提取码:a36a)</a></div><script>;!function(){laydate.skin('danlan');// 演示二:js外部调用laydate({elem: '#demo'})}();/** 演示四:自定义日期格式*/laydate({elem: '#custom_date_format',format: 'YYYY-MM', // 分隔符可以任意定义,该例子表示只显示年月festival: true, // 显示节日choose: function(datas){ // 选择日期完毕的回调alert('您选择的日期为:'+datas);}});/** 演示五:基于当前日期控制日期范围*/laydate({elem: '#custom_date_scope',min: laydate.now(-7), // -1代表昨天,-2代表前天,以此类推max: laydate.now(+7) // +1代表明天,+2代表后天,以此类推});/** 演示六:显示日期和时间*/laydate({elem: '#custom_date_full',format: 'YYYY-MM-DD hh:mm:ss', // 分隔符可以任意定义,该例子表示只显示年月festival: true,  // 显示节日istime: true,choose: function(dates){ // 选择日期完毕的回调alert('您选择的日期时间为:'+dates);}});/** 演示七:双日期范围显示限制*/var start_time = {elem: '#time_start',format: 'YYYY-MM-DD hh:mm:ss',min: laydate.now(),  // 设定最小日期为当前日期//max: laydate.now(+5), // 最大日期istime: true,istoday: false,choose: function(dates){var cur = convertString2Date(dates);var str = convertDate2String(cur);var mse = adjustDate(cur, 0);var ad = convertDate2String(mse);alert("当前日期:" + cur + "\n\n格式日期:" + str + "\n\n毫秒总数:" + mse + "\n\n调整日期:" + mse+ "\n\n加 1 秒:" + convertDate2String(adjustDate(cur, 1))+ "\n\n加 1 分:" + convertDate2String(adjustDate(cur, 60))+ "\n\n加 1 时:" + convertDate2String(adjustDate(cur, 60*60))+ "\n\n加 1 天:" + convertDate2String(adjustDate(cur, 60*60*24))+ "\n\n加 1 月:" + convertDate2String(adjustDate(cur, 60*60*24*30))+ "\n\n加 1 年:" + convertDate2String(adjustDate(cur, 60*60*24*30*12))+ "\n\n减 1 秒:" + convertDate2String(adjustDate(cur, -1))+ "\n\n减 1 分:" + convertDate2String(adjustDate(cur, -60))+ "\n\n减 1 时:" + convertDate2String(adjustDate(cur, -60*60))+ "\n\n减 1 天:" + convertDate2String(adjustDate(cur, -60*60*24))+ "\n\n减 1 月:" + convertDate2String(adjustDate(cur, -60*60*24*30))+ "\n\n减 1 年:" + convertDate2String(adjustDate(cur, -60*60*24*30*12)));// 开始日选好后,重置结束日的最小日期为下一天end_time.min = convertDate2String(adjustDate(cur, 60*60*24));// 将结束日的初始值设定为开始日的第三天end_time.start = convertDate2String(adjustDate(cur, 60*60*24*2));// 将结束日的终止值设定为开始日的第三十天,日期范围为一个月end_time.max = convertDate2String(adjustDate(cur, 60*60*24*30));}};var end_time = {elem: '#time_end',format: 'YYYY-MM-DD hh:mm:ss',min: laydate.now(),max: '2099-06-16 23:59:59',istime: true,istoday: false,choose: function(dates){var cur = convertString2Date(dates);// 结束日选好后,重置开始日的最大日期为前第一天start_time.max = convertDate2String(adjustDate(cur, -60*60*24));// 将起始日的初始值设定为结束日的前第三十天start_time.start = convertDate2String(adjustDate(cur, -60*60*24*30));// 将起始日的起始日期设定为结束日的前第三十天,日期范围为一个月start_time.min = convertDate2String(adjustDate(cur, -60*60*24*30));}};laydate(start_time);laydate(end_time);</script></body>
</html>

page.css 对应的源码为:

*{margin:0;padding:0;list-style:none;
}html{background-color:#E3E3E3;font-size:14px;color:#000;font-family:'微软雅黑'
}h2{line-height:30px;font-size:20px;
}a,a:hover{text-decoration:none;
}pre{font-family:'微软雅黑'
}.box{width:1200px;padding:10px 20px;background-color:#fff;margin:10px auto;
}.box a{padding-right:20px;
}h3{margin:10px 0;
}.layinput{height: 22px;line-height: 22px;width: 150px;margin: 0;
}

convertString2Date 函数对应的源码如下:

convertDate2String 函数对应的源码如下:

adjustDate 函数对应的源码如下:

运行结果如下所示:

至此,HTML-001-日期组件 layDate 演示顺利完结,希望此文能够给初学 HTML 的您一份参考。

转自:http://www.jb51.net/article/101987.htm

layDate日期选择插件相关推荐

  1. laydate日期时间插件年选择器和年月选择器实现不用点击确定

    laydate日期时间插件只有是日期的时候才不用点确定,年选择器和年月选择器的时候必须点确定才能选中.用起来很不方便,这里在不改变源代码的情况实现不用点击确定. 1.年选择器实现 <input ...

  2. php日期选择插件,优雅的日期选择插件daterangepicker

    插件描述:jQuery bootstrap日期选择插件daterangepicker,多种时间类型选择 使用方法 第一步:引入css文件: bootstrap.min.css.font-awesome ...

  3. daterangepicker java_日期选择插件Date Range Picker

    Date Range Picker jQuery Date Range Picker 是一个基于 jQuery 的日期选择插件,使用起来也算方便,主要提 日期范围.单个日期 (时间.周.快捷键.每周其 ...

  4. 移动端日期选择插件rolldate

    rolldate为上一版jquery移动端时间插件的全新版本,目前保留了上一版的大部分功能,并且增加了回调函数,以及主题风格选取,最重要的是解决了上一版本的遗留问题,依赖jquery.滑动不够流畅.参 ...

  5. jquery日期选择插件

    这个插件最近发现有一个小Bug,已经修改过. 又写了一个日期选择插件,大家看代码吧,不知怎么的,老是上传不了资源文件了 /* * $-color 0.1 - New Wave Javascript * ...

  6. 自己动手丰衣足食之移动端日期选择插件(强烈推荐)

    移动端的日期选择插件相比PC端比较少,主要原因是不同手机浏览器的效果不一样,mobiscroll 太臃肿了,而且不是免费的,一个字:丑 在此向大家分享一款手机端的日期选择插件https://githu ...

  7. 原生js实现日期选择器插件 简单风格日期选择插件

    原生js实现日期选择插件 xs-DatePicker ** 效果图 ** ** 简介 通过原生HTML/CSS/JavaScript完成一个日期选择器. 代码如下: ** <!-- 时间:202 ...

  8. laydate日期时间插件实现不用点击确定

    使用laydate时间插件,想要改变插件原本的内容,这让人很头疼,可是需求提出来了 我们能说什么....本次就是在不改变插件源码的基础上,改变插件样式. <div> <ul clas ...

  9. ajax小型日期插件,Pikaday.js简约轻量级的日期选择插件 - 资源分享

    Pikaday.js 是一个 JavaScript 日期选择器,它不依赖于任何第三方 JavaScript 库,并且文件大小小于 5K,但是功能却一点不弱,可以进行很多高级定制.并且样式可以根据 CS ...

最新文章

  1. STM32f103 can的两个接收fifo使用方法
  2. mysql数据被截断_有关Mysql数据截断问题的处理方法
  3. [html] html5点击返回键怎样不让它返回上一页
  4. [剑指offer][JAVA]面试题第[26]题[树的子结构][递归]
  5. 多用户操作git“远程仓库“(本地)
  6. textarea选中行删除_Easy Data Transform如何在Excel中删除重复的行?
  7. 通过xalan实现关系型数据库到XML的数据交换
  8. 51全志R58平台Android4.4下Camera的HAL层修改
  9. css 各浏览器里的不同
  10. FastStone Capture无法录制系统声音解决方法(win10)
  11. vue-cli 5 搭建 vue 项目
  12. python实现局域网文件互传_Python+pyftpdlib实现局域网文件互传
  13. 【Java系列】:异常-Exception
  14. IC卡,ID卡,M1卡等各种卡扫盲篇
  15. es6 符号 双问号
  16. [源码、文档、分享] iOS/iPhone学习系列、代码教程----~~~持续更新中~~~
  17. 基于android 平台的校园二手物品交易系统设计与实现
  18. azure云上 在线将oracle单实例扩展成oracle dataguard高可用集群的详细过程
  19. 【配电网】基于遗传算法实现三相单目标配电网重构附matlab代码
  20. 如何取消Word文档保护密码(密码的破解方法)

热门文章

  1. 低成本蓝牙芯片MS1656智能空调伴侣方案
  2. 瑞柏匡丞:产品经理如何顺利对接程序猿
  3. Day19 网络编程
  4. 女孩的眼泪是最珍贵的 别让爱你的女孩流泪
  5. 越来越多的私募股权公司表示有兴趣收购推特
  6. cgb2104-day16
  7. 【百度商圈】清空地图上显示的商圈
  8. python爬虫-14-python获取数据之BeautifulSoup4库(下)
  9. TFA 在 18.3 下的使用之一 随库安装
  10. 一次曲折的拿站实录——由域名权限到服务器权限