bootstrap laydate日期組件使用詳解
在日常的網(wǎng)頁開發(fā)過程中,日期組件已經成為不可或缺的組件之一。同時,隨著廣大杰出攻城獅的不懈努力,也出現(xiàn)了很多優(yōu)秀的日期組件,其中我個人覺得 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', // 觸發(fā)事件。如果沒有傳入event,則按照默認的click format: 'YYYY-MM-DD hh:mm:ss', // 日期格式 istime: false, // 是否開啟時間選擇 isclear: true, // 是否顯示清空 istoday: true, // 是否顯示今天 issure: true, // 是否顯示確認 festival: true, // 是否顯示節(jié)日 min: '1900-01-01 00:00:00', // 最小日期 max: '2099-12-31 23:59:59', // 最大日期 start: '2014-6-15 23:00:00', // 開始日期 fixed: false, // 是否固定在可視區(qū)域 zIndex: 99999999, // css z-index choose: function(dates){ // 選擇好日期的回調 } 二、其它方法/屬性 laydate.v // 獲取laydate版本號 laydate.skin(lib); // 加載皮膚,參數(shù)lib為皮膚名 /* layer.now支持多類型參數(shù)。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" onclick="laydate()"> </div> <div class="box"> <h3>演示二:js外部調用</h3> <input class="laydate-icon" id="demo" value="2014-07-18"> </div> <div class="box"> <h3>演示三:圖標觸發(fā)日期</h3> <input id="ico" readonly><span class="laydate-icon" onclick="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 target="_blank">JavaScript Date 對象</a> <a 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, // 顯示節(jié)日 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, // 顯示節(jié)日 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毫秒總數(shù):" + 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 函數(shù)對應的源碼如下:
convertDate2String 函數(shù)對應的源碼如下:
adjustDate 函數(shù)對應的源碼如下:
運行結果如下所示:
至此,HTML-001-日期組件 layDate 演示順利完結,希望此文能夠給初學 HTML 的您一份參考。
最后,非常感謝親的駐足,希望此文能對親有所幫助。熱烈歡迎親一起探討,共同進步。非常感謝!
如果大家還想深入學習,可以點擊這里進行學習,再為大家附3個精彩的專題:
以上就是本文的全部內容,希望大家多多支持腳本之家。
相關文章
js中的關聯(lián)數(shù)組與普通數(shù)組詳解
下面小編就為大家?guī)硪黄猨s中的關聯(lián)數(shù)組與普通數(shù)組詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07