日历插件——laydate.js

时间:2024-02-23 17:58:21

laydate是一款很好用的日历控件,兼容了包括IE6在内的所有主流浏览器,默认有三种皮肤,如需其它皮肤可去官网下载http://www.layui.com/laydate/

 一、核心方法:laydate(options);
  options是一个对象,它包含了以下key: \'默认值\'
   elem: \'#id\',   // 日期显示元素选择器,laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 \'#id .class\'
   event: \'click\',   // 触发事件。如果没有传入event,则按照默认的click
   format: \'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-index
   choose: 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结构改变时。无参
 
  三、注意问题
  (1)在引用了bootstrap时,laydate控件样式会出现如下图的bug
  

  原因是bootstrap.css中重新定义了盒模型,解决办法是再次覆盖盒模型的定义,如下

  .laydate_box, .laydate_box * {
    box-sizing:content-box;
  }

  (2)当页面出现滚动条,滚动页面日历位置不再定位在输入框后

  解决办法,当滚动页面时触发laydate.reset()事件