一款好用的日期插件Laydate 用法分享

前言: css

   今天爲了找日期插件也花了很多的時間,找了好幾個放到項目上都用不了。很煩,終於在晚上找到了這款 Laydate 插件,很是簡單,好用。java

   日期效果也不錯,記錄一下。mybatis

(一) Laydate 下載,分享百度雲連接spa

  連接:https://pan.baidu.com/s/1m9w7rI18ZIQULyeki_sBfg 插件

  提取碼:ge7b

code

(二) 用法介紹orm

  (1) 將下載的文件解壓對象

    

  (2) 將js 文件放到 項目的js文件夾下,將theme放到css文件夾下blog

 

  (3) 分別再對應的頁面中引入css 和 js 事件

      1 引入css   引入的位置不對,可能會報錯,放在title 或 head 標籤下方 (我是放在了head下方,開始放在head裏面報錯了)  有錯的話,本身換一換位置就好。  

      <link rel="stylesheet" href="/css/laydate.css"/>    //換成本身的路徑

      2  引入js   JS的位置儘可能往上放吧,  否則也會報錯。

      <script src="/js/laydate.js"></script>        //換成本身的路徑

   (4)寫<input>  和  加載插件  (例)

    

<input id="specimencollectdate"  type="text">


<srcipt>

    laydate.render({
    elem: '#specimencollectdate'
    });

</script>

 

 

   注意: 這個日期傳入後臺,在mybatis中 不能判斷其 爲空字符串,不然會報錯(invalid comparison: java.util.Date and java.lang.String)  

     緣由是mybatis 3.3.0中對於時間參數進行比較時的一個bug. 若是拿傳入的時間類型參數與空字符串''進行對比判斷則會引起異常. 因此在上面的代碼中去該該判斷, 只保留非空判斷就正常了

      (5)laydate 提供的參數 (供參考)

laydate.render({ 
  elem: '#test' //或 elem: document.getElementById('test')、elem: lay('#test') 等(類型:String/DOM,默認值:無必填項,用於綁定執行日期渲染的元素,值通常爲選擇器,或DOM對象)
  ,type: 'year'//year-只提供年列表選擇||month-只提供年、月選擇||date-可選擇:年、月、日。type默認值,通常可不填||time-只提供時、分、秒選擇||datetime-可選擇:年、月、日、時、分、秒
  ,range: true //或 range: '~' 來自定義分割字符
  ,format: 'yyyy年MM月dd日' //可任意組合 yyyy年MM月dd日 HH時mm分ss秒===2017年08月18日 20時08分08秒
  ,value: '2018-08-18' //必須遵循format參數設定的格式String,默認值:new Date()
  ,min: '2017-1-1'//min/max - 最小/大範圍內的日期時間值 類型:string,默認值:min: '1900-1-1'、max: '2099-12-31'
  ,max: '2017-12-31'
  ,trigger: 'click' // 自定義彈出控件的事件(類型:String,默認值:focus,若是綁定的元素非輸入框,則默認事件爲:click)-採用click彈出
  ,show: true //默認顯示-類型:Boolean,默認值:false;;;;若是設置: true,則控件默認顯示在綁定元素的區域。一般用於外部事件調用控件
  ,position: 'static'//類型:String,默認值:absolute  (fixed,absolute,static)
  ,zIndex: 99999999//層疊順序-類型:Number,默認值:66666666通常用於解決與其它元素的互相被遮掩的問題。若是 position 參數設爲 static 時,該參數無效
  ,showBottom: false//是否顯示底部欄--類型:Boolean,默認值:true若是設置 false,將不會顯示控件的底部欄區域
  ,btns: ['clear', 'now', 'confirm']//類型:Array,默認值:['clear', 'now', 'confirm'](顯示清空,今天,確認)
  ,lang: 'en'//語言類型:String,默認值:cn--內置了兩種語言版本:cn(中文版)、en(國際版,即英文版)
  ,theme: 'grid'//主題-類型:String,默認值:default,theme的可選值有:default(默認簡約)、molv(墨綠背景)、#顏色值(自定義顏色背景)、grid(格子主題)
  ,calendar: true//是否顯示公曆節日--類型:Boolean,默認值:false
  ,mark: {//標註重要日子--類型:Object,默認值:無
    '0-10-14': '生日'
    ,'0-12-31': '跨年' //每一年12月31日
    ,'0-0-10': '工資' //每月10號
    ,'2017-8-15': '' //具體日期
    ,'2017-8-20': '預發' //若是爲空字符,則默認顯示數字+徽章
    ,'2017-8-21': '發佈'
  }
  ,ready: function(date){//控件在打開時觸發,回調返回一個參數
    console.log(date); //獲得初始的日期時間對象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
  }
  ,change: function(value, date, endDate){//日期時間被切換後的回調
    console.log(value); //獲得日期生成的值,如:2017-08-18
    console.log(date); //獲得日期時間對象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
    console.log(endDate); //得結束的日期時間對象,開啓範圍選擇(range: true)纔會返回。對象成員同上。
  }
  ,done: function(value, date, endDate){//控件選擇完畢後的回調---點擊日期、清空、如今、肯定均會觸發。
    console.log(value); //獲得日期生成的值,如:2017-08-18
    console.log(date); //獲得日期時間對象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
    console.log(endDate); //得結束的日期時間對象,開啓範圍選擇(range: true)纔會返回。對象成員同上。
  }
});

 

 彈出效果展現

 

 

 

    


 

 

 

   本身遇到的小問題,記錄一下。  下次別再這樣的問題上浪費時間了。

相關文章
相關標籤/搜索