UNPKG

rolldate-full

Version:

rolldate Multi-format, powerful mobile date selection plugin

394 lines (376 loc) 13.8 kB
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>rolldate demo</title> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"> <style type="text/css"> h1 { font-size: 30px; } .form-control[readonly] { background: none; } @media (max-width: 414px) { .form-control { font-size: 12px; } } @media (max-width: 360px) { .form-control { font-size: 10px; padding: 0 5px; } } @media (max-width: 320px) { .col-xs-6 { padding: 0 5px; } } </style> </head> <body> <div class="jumbotron"> <div class="container"> <h1>rolldate Multi-format, powerful mobile date selection plugin</h1> <p>This is the new version of rolldate 3.1 <a href="https://weijhfly.github.io/rolldate-index2.html">Back to the old version</a></p> </div> </div> <div class="container"> <h4><strong>Supported formats: (unlimited)</strong></h4> <p><strong> Rule: year-YYYY month-MM day-DD hour-hh minute-mm second-ss Use /,-, space, or: to separate them, you can combine them at will, and it is not recommended to repeat them individually. </strong></p> <p> Example: YYYY-MM, YYYY-MM-DD, YYYY-MM-DD hh: mm, YYYY-MM-DD hh: mm: ss, YYYY, MM, DD, hh: mm, hh: mm: ss , YYYY-MM-DD hh, hh, mm, ss, YYYY / DD ... </p> <div class="row"> <div class="form-group clearfix"> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group1-1" placeholder="YYYY-MM"> </div> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group1-2" placeholder="YYYY-MM-DD"> </div> </div> <div class="form-group clearfix"> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group1-3" placeholder="YYYY-MM-DD hh"> </div> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group1-4" placeholder="YYYY-MM-DD hh:mm"> </div> </div> <div class="form-group clearfix"> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group1-5" placeholder="YYYY-MM-DD hh:mm:ss"> </div> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group1-6" placeholder="hh:mm"> </div> </div> <div class="form-group clearfix"> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group1-7" placeholder="hh:mm:ss"> </div> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group1-8" placeholder="YYYY"> </div> </div> <div class="form-group clearfix"> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group1-9" placeholder="MM"> </div> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group1-10" placeholder="DD"> </div> </div> <div class="form-group clearfix"> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group1-11" placeholder="hh"> </div> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group1-12" placeholder="mm"> </div> </div> <div class="form-group clearfix"> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group1-13" placeholder="ss"> </div> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group1-14" placeholder="text Month"> </div> </div> </div> <h4><strong>Callback:</strong></h4> <p>init、moveEnd、confirm、cancel</p> <div class="row"> <div class="form-group clearfix"> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group2-1" placeholder="完整实例"> </div> </div> <h5 class="col-xs-12">init return false prevents plugins from running</h5> <div class="form-group clearfix"> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group2-2" placeholder="init"> </div> </div> <h5 class="col-xs-12">confirm return false prevents the plugin from running, returning other values can modify the date display</h5> <div class="form-group clearfix"> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group2-3" placeholder="confirm修改日期"> </div> </div> </div> <h4><strong>Custom language </strong></h4> <p>lang</p> <div class="row"> <div class="form-group clearfix"> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group3-1" placeholder="lang"> </div> </div> </div> <h4><strong>Set default date</strong></h4> <p>value</p> <div class="row"> <div class="form-group clearfix"> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group4-1" placeholder="Set default date"> </div> </div> </div> <h4><strong>el pass dom object</strong></h4> <div class="row"> <div class="form-group clearfix"> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group5-1" placeholder="el pass dom object"> </div> </div> </div> <h4><strong>Minute interval</strong></h4> <div class="row"> <div class="form-group clearfix"> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group6-1" placeholder="Minute interval"> </div> </div> </div> <h4><strong>Use native click</strong></h4> <div class="row"> <div class="form-group clearfix"> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group7-1" placeholder="trigger:'click'"> </div> </div> </div> <h4><strong>Do not pass el</strong></h4> <div class="row"> <div class="form-group clearfix"> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group9-1" placeholder="Do not pass el"> </div> </div> </div> <h4><strong>Other examples</strong></h4> <div class="row"> <div class="form-group clearfix"> <div class="col-xs-6"> <input readonly class="form-control" type="text" id="date-group8-1" placeholder="Cannot be smaller than the current date"> </div> </div> </div> </div> <script> window.onload = function () { // 格式 new Rolldate({ el: '#date-group1-1', format: 'YYYY-MM', beginYear: 2000, endYear: 2100 }) new Rolldate({ el: '#date-group1-2', format: 'YYYY-MM-DD', beginYear: 2000, endYear: 2100, }) new Rolldate({ el: '#date-group1-3', format: 'YYYY-MM-DD hh' }) new Rolldate({ el: '#date-group1-4', format: 'YYYY-MM-DD hh:mm', beginYear: 2000, endYear: 2100 }) new Rolldate({ el: '#date-group1-5', format: 'YYYY-MM-DD hh:mm:ss', beginYear: 2000, endYear: 2100 }) new Rolldate({ el: '#date-group1-6', format: 'hh:mm' }) new Rolldate({ el: '#date-group1-7', format: 'hh:mm:ss' }) new Rolldate({ el: '#date-group1-8', format: 'YYYY', beginYear: 2000, endYear: 2100 }) new Rolldate({ el: '#date-group1-9', format: 'MM' }) new Rolldate({ el: '#date-group1-10', format: 'DD' }) new Rolldate({ el: '#date-group1-11', format: 'hh' }) new Rolldate({ el: '#date-group1-12', format: 'mm' }) new Rolldate({ el: '#date-group1-13', format: 'ss' }) new Rolldate({ el: '#date-group1-14', format: 'YYYY-MM-DD', beginYear: 2000, endYear: 2100, typeMonth: 'text', localeMonth: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] }) /* 回调函数 * tips: 在vue及其他mvvm框架中使用时,在confirm中修改v-model绑定的数据即可 */ new Rolldate({ el: '#date-group2-1', format: 'YYYY-MM-DD', beginYear: 2000, endYear: 2100, init: function () { console.log('Plugin starts to fire'); }, moveEnd: function (scroll) { console.log(scroll) console.log('End of scroll'); }, confirm: function (date) { console.log(date) console.log('OK button trigger\n'); }, cancel: function () { console.log('Plug-in canceled'); } }) new Rolldate({ el: '#date-group2-2', format: 'YYYY-MM-DD', beginYear: 2000, endYear: 2100, init: function () { if (1 == 1) { console.log('Prevent the plugin from continuing'); return false; } } }) new Rolldate({ el: '#date-group2-3', format: 'YYYY-MM-DD', beginYear: 2000, endYear: 2100, confirm: function (date) { return date.replace(/-/g, '/'); } }) // 自定义语言 var lang = { title: 'Пользовательский заголовок', cancel: 'Отмена', confirm: 'Выбрать', year: ' год', month: ' месяц', day: ' день', hour: ' час', min: ' минут', sec: ' секунд' }; // If a value is not modified, it can not be passed new Rolldate({ el: '#date-group3-1', format: 'YYYY-MM-DD', beginYear: 2000, endYear: 2100, lang: lang }) // Set default date internally use document.getElementById ('date'). BindDate = new Date ('2019/05/13'); new Rolldate({ el: '#date-group4-1', format: 'YYYY-MM-DD', beginYear: 2000, endYear: 2100, value: '2017-10-21' //或2017-10-21 23:52:50 }) // el传dom对象,只支持单个 new Rolldate({ el: document.getElementById('date-group5-1'), format: 'YYYY-MM-DD', beginYear: 2000, endYear: 2100 }) // 分钟按指定数分隔 new Rolldate({ el: '#date-group6-1', format: 'hh:mm', minStep: 5 }) // 使用原生click new Rolldate({ el: '#date-group7-1', trigger: 'click' }) // 不传el var el = document.getElementById('date-group9-1'); el.addEventListener('click', function () { rd.show(); }) var rd = new Rolldate({ confirm: function (date) { el.value = date; } }) // 其他示例 //日期判断 new Rolldate({ el: '#date-group8-1', format: 'YYYY-MM-DD', beginYear: 2000, endYear: 2100, confirm: function (date) { var d = new Date(), d1 = new Date(date.replace(/\-/g, "\/")), d2 = new Date(d.getFullYear() + '/' + (d.getMonth() + 1) + '/' + d.getDate()); //如果非'YYYY-MM-DD'格式,需要另做调整 if (d1 < d2) { alert('不能小于当前的日期'); return false; } } }) } </script> </body> </html>