本文實例講述了javascript實現的淘寶旅行通用日歷組件用法。分享給大家供大家參考。
在線演示:http://demo.jb51.net/js/2015/trip-calendar/demo.html
PS:下面的演示代碼,需要用到 trip-calendar.js與trip-calendar.css文件。打包下載地址
具體如下:
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name="author" content="angtian"> <meta name="description" content="淘寶旅行通用日歷組件Demo1"> <meta name ="keywords" content="日歷, 日歷組件, 淘寶旅行日歷"> <title>淘寶旅行通用日歷組件Demo1</title> <style> body{padding:0;margin:0 10px;text-align:center;} .title{padding:0;margin:10px 0;font:700 18px/1.5 \5fae\8f6f\96c5\9ed1;} .title a{font:400 14px/1.5 Tahoma;margin-left:20px;} .example{margin-top:10px;} .example button{margin:0 5px 10px 0;} .calendar{display:inline-block;} </style> <script src="http://yui.yahooapis.com/3.5.1/build/yui/yui-min.js"></script> <script> var root = 'http://fgm.cc/learn/calendar/trip-calendar/'; YUI({ modules: { 'trip-calendar': { fullpath: root + 'trip-calendar.js', type : 'js', requires: ['trip-calendar-css'] }, 'trip-calendar-css': { fullpath: root + 'trip-calendar.css', type : 'css' } } }).use('trip-calendar', function(Y) { /** * 非彈出式日歷實例 * 直接將日歷插入到頁面指定容器內 */ var oCal = new Y.TripCalendar({ container : '#J_Calendar', //非彈出式日歷時指定的容器(必選) selectedDate: new Date //指定日歷選擇的日期 }); //日期點擊事件 oCal.on('dateclick', function() { var selectedDate = this.get('selectedDate'); alert(selectedDate + '\u3010' + this.getDateInfo(selectedDate) + '\u3011'); }); Y.one('#J_Example').delegate('click', function(e) { var oTarget = e.currentTarget; value = oTarget.getAttribute('data-value'); switch(true) { //日歷個數 case oTarget.hasClass('J_Count'): this.set('count', value).render(); break; //顯示節假日 case oTarget.hasClass('J_showHoliday'): this.set('isHoliday', true).render(); break; //隱藏節假日 case oTarget.hasClass('J_hideHoliday'): this.set('isHoliday', false).render(); break; //時間范圍限定 case oTarget.hasClass('J_Limit'): this.set('minDate', new Date) .set('maxDate', '') .set('afterDays', value) .set('date', new Date()); break; //指定初始日期 case oTarget.hasClass('J_InitDate'): this.set('minDate', value) .set('maxDate', '2012-12-21') .set('date', value); break; //下拉表單選擇時間 case oTarget.hasClass('J_Select'): this.set('isSelect', true).render(); Y.all('.J_Count').slice(1).set('disabled', true); break; //取消下拉表單選擇 case oTarget.hasClass('J_SelectOff'): this.set('isSelect', false).render(); Y.all('.J_Count').slice(1).set('disabled', false); break; } }, 'button', oCal); }); </script> </head> <body> <h1 class="title">淘寶旅行通用日歷組件Demo1 <a href="http://fgm.cc/learn/calendar/trip-calendar/Demo1.html">Demo1</a><a href="http://fgm.cc/learn/calendar/trip-calendar/Demo2.html">Demo2</a><a href="http://fgm.cc/learn/calendar/trip-calendar/Demo3.html">Demo3</a><a href="http://fgm.cc/learn/calendar/trip-calendar/api.html" target="_blank">API文檔</a></h1> <div id="J_Example" class="example"> <button class="J_Count" data-value="1">單日歷</button> <button class="J_Count" data-value="2">雙日歷</button> <button class="J_Count" data-value="3">三日歷</button> <button class="J_Count" data-value="4">四日歷</button> <br /> <button class="J_showHoliday">顯示節假日</button> <button class="J_hideHoliday">隱藏節假日</button> <br /> <button class="J_Limit" data-value="90">限定范圍(今天->90天)</button> <button class="J_InitDate" data-value="2012-10-01">指定初始日期(2012年10月)</button> <button class="J_InitDate" data-value="">取消范圍限定</button> <br /> <button class="J_Select">下拉表單選擇時間</button> <button class="J_SelectOff">取消下拉表單選擇</button> </div> <div id="J_Calendar" class="calendar"></div> </body> </html>
希望本文所述對大家的javascript程序設計有所幫助。