移動端material風格日期時間選擇器

好多時候在移動端須要一個的日期選擇器,因爲在應用上有可能應用各類框架庫(Vue.js, React.js, zepto.js等);因此說一個無依賴的,這樣易於上層進行封裝。直接開門見山,先來張動圖看看效果:html

Select date and time

能夠看出整個風格就是 Material Design 風格的,主要特色就是:webpack

  • 手勢操做:左劃右劃切換月份,固然動畫效果仍是要有的。git

  • 快速選擇年月:點擊部分切換到選擇年界面,點擊月日周會__來回切換__到主日期選擇界面和月份選擇界面(若是在非日期選擇主界面點擊就會切換到主界面,若是在主界面點擊就切換到快速選擇月份界面);固然選擇年一級選擇月份界面要有順滑的滑動效果。github

  • 鐘錶樣式時間選擇:直接、簡單選擇時間。web

安裝使用

利用webpack打包,支持UMD,暴露全局DateTimePicker變量,固然能夠選擇經過npm安裝:npm i date-time-picker便可。主要包含兩種選擇器:日期和時間。npm

日期選擇器 DatePicker

btn.onclick = function () {
  var datePicker = new DateTimePicker.Date(options, config)
  datePicker.on('selected', function (formatDate, now) {
    // formatData = 2016-10-19
    // now = Date實例 -> Wed Oct 19 2016 20:28:12 GMT+0800 (CST)
  })
}

時間選擇器 TimePicker

btn.onclick = function () {
  var timePicker = new DateTimePicker.Time(options, config)
  timePicker.on('selected', function (formatTime, now) {
    // formatTime = 18:30
    // now = Date實例 -> Wed Oct 19 2016 18:30:13 GMT+0800 (CST)
  })
}

API以及事件

API:框架

picker.show()
picker.hide()
picker.destroy()

事件:ide

picker
  // 點擊肯定
  .on('selected', function (formatValue, now) {
    console.log(formatValue, now)
  })
  // 點擊取消,同時會觸發 `destroy` 事件
  .on('canceled', function () {
    console.log('canceled')
  })
  // 銷燬
  .on('destroy', function () {
    console.log('destroy')
  })

options 和 config

從上邊能夠看到在實例化Picker的時候有兩個參數可選:optionsconfig動畫

一樣區分下DatePickerTimePickerspa

DatePicker Options

{
  lang: 'EN', // 語言,默認 'EN' ,默認 'EN', 'zh-CN' 可選
  format: 'yyyy-MM-dd', // 格式, 'yyyy-MM-dd'
  default: '2016-10-19', // 默認值 `new Date()`。 若是`default`有值且是字符串的話就會根據`format`參數來將其轉化爲一個`Date`實例。固然能夠選擇傳入一個日期實例。
}

TimePicker Options

{
  lang: 'EN', // 語言,默認 'EN' ,默認 'EN', 'zh-CN' 可選
  format: 'HH:mm', // 格式, 'HH:mm'
  default: '12:27', // 默認值 `new Date()`。 若是`default`有值且是字符串的話就會根據`format`參數來將其轉化爲一個`Date`實例。一樣能夠選擇傳入一個日期實例。
  minuteStep: 5 // 分鐘精度,默認值 5。
}

Config

默認中文(zh-CN)配置:

{
  day: ['週日', '週一', '週二', '週三', '週四', '週五', '週六'],
  shortDay: ['日', '一', '二', '三', '四', '五', '六'],
  MDW: 'M月d日D', // 主面板標題部分 月日星期
  YM: 'yyyy年M月', // 日期部分標題顯示
  OK: '肯定', // 肯定按鈕
  CANCEL: '取消' // 取消按鈕
}

默認英語配置(EN):

{
  day: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
  shortDay: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
  MDW: 'D, MM-d',
  YM: 'yyyy-M',
  OK: 'OK',
  CANCEL: 'CANCEL'
}

在線查看

若是你是用手機訪問請直接點擊 http://demo.aijc.net/js/date-time-picker/dist/example.html;或者手機掃描二維碼便可查看:

QR

項目

地址:https://github.com/dolymood/date-time-picker

歡迎拍磚,試用。

相關文章
相關標籤/搜索