PageRenderTime 49ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 1ms

/1.2/docs/html/_static/demo/calendar/demo1.html

https://github.com/yiminghe/kissyteam.github.com
HTML | 251 lines | 233 code | 16 blank | 2 comment | 0 complexity | 0d2687d20daad6f4fa2f09f8c8664d6f MD5 | raw file
  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>Calendar Demo</title>
  6. <script src="http://a.tbcdn.cn/s/kissy/1.2.0/kissy.js"></script>
  7. <style>
  8. body {
  9. font: 14px Georgia, "Times New Roman", Times, sans-serif;
  10. color: #444;
  11. }
  12. h1 {
  13. font-size: 26px;
  14. color: #00859D;
  15. font-family: Constantia, serif;
  16. }
  17. h3 {
  18. font-size: 14px;
  19. color: #555;
  20. margin: 15px 0 5px;
  21. }
  22. code {
  23. font-family: Courier New monospace;
  24. }
  25. </style>
  26. </head>
  27. <body class="yui-skin-sam">
  28. <h1>KISSY Calendar</h1>
  29. <hr size=1/>
  30. <h3>静态日历以及单击回调</h3>
  31. <div id="J_Calendar"></div>
  32. <hr size=1/>
  33. <h3>静态双月日历,默认选中某日</h3>
  34. <div id="J_MultiPage_1"></div>
  35. <hr size=1/>
  36. <h3>静态三月日历</h3>
  37. 可以支持无数多个月的日历,只需增加css中的相应容器宽度
  38. <div id="J_MultiPage_2"></div>
  39. <hr size=1/>
  40. <h3>日历日期范围,以及选择范围的回调</h3>
  41. <div id="J_Range"></div>
  42. <hr size=1/>
  43. <h3>日历日期范围,指定默认范围</h3>
  44. <div id="J_DefaultRange"></div>
  45. <hr size=1/>
  46. <h3>日历切换事件</h3>
  47. 只要当前月份切换就发生monthChange事件
  48. <div id="J_AllEvents"></div>
  49. <hr size=1/>
  50. <h3>Popup日历默认点击触发点击空白处关闭</h3>
  51. <input type="text" id="J_Popup" style="margin-left:50px;"/>
  52. <hr size=1/>
  53. <h3>Popup日历默认点击触发选择范围</h3>
  54. <input type="text" id="J_Popup2" style="margin-left:50px;"/>
  55. <hr size=1/>
  56. <h3>Popup日历单选关闭focus事件触发时弹出日历</h3>
  57. <a href="javascript:void(0);" id="J_PopupClosable" style="margin-left:50px;">click here!</a>
  58. <hr size=1/>
  59. <h3>日历可操作范围</h3>
  60. 只可以选择今日之后的十天以内的日期
  61. <div id="J_MinDateMaxDate"></div>
  62. <hr size=1/>
  63. <h3>可选择时间</h3>
  64. 每个面板的time选择永远保持一致而且当选择范围的时候起始time和结束time是一致的
  65. <div id="J_WithTime"></div>
  66. <hr size=1/>
  67. <h3>起始星期自定义</h3>
  68. 起始星期可以自定义指定参数startDay:0-6,默认为0从星期日开始
  69. <div id="J_CustomDay"></div>
  70. <hr size=1/>
  71. <h3>更多定制</h3>
  72. <input type="text" value="" class="ks-select-calendar" id="J_SelectResult" name="">
  73. <hr size=1/>
  74. <h3>日期格式的自定义</h3>
  75. 日期格式的自定义是在一个单独的模块中date-format和Calendar无关,这里只是一个示例
  76. <br/>
  77. 请选择要输出的日期格式
  78. <select id="J_DateType">
  79. <option value="custom" selected>custom</option>
  80. <option value="default">default</option>
  81. <option value="shortDate">shortDate</option>
  82. <!--<option value="mediumDate">mediumDate</option>-->
  83. <option value="longDate">longDate</option>
  84. <option value="fullDate">fullDate</option>
  85. <option value="shortTime">shortTime</option>
  86. <!--<option value="mediumTime">mediumTime</option>-->
  87. <option value="longTime">longTime</option>
  88. <option value="isoDate">isoDate</option>
  89. <option value="isoTime">isoTime</option>
  90. <option value="isoDateTime">isoDateTime</option>
  91. <option value="isoUTCDateTime">isoUTCDateTime</option>
  92. <option value="localShortDate">localShortDate</option>
  93. <option value="localShortDateTime">localShortDateTime</option>
  94. <option value="localLongDate">localLongDate</option>
  95. <option value="localLangDateTime">localLangDateTime</option>
  96. <option value="localFullDate">localFullDate</option>
  97. <option value="localFullDateTime">localFullDateTime</option>
  98. </select>
  99. custom自定义格式 <input type=text value="yyyy/mm/dd HH:MM:ss" id="J_CustomType"/>
  100. <div id="J_DateFormat"></div>
  101. <hr size=1/>
  102. <p style="clear:both">
  103. 在ie6,ie7,firefox2,firefox3.0/3.5/3.6,safari4.0,opera9.62,chrome3.0下测试通过<br/>
  104. </p>
  105. <script>
  106. var S=KISSY;
  107. var c = {};
  108. var showdate = function(n, d) {//计算d天的前几天或者后几天,返回date,注:chrome下不支持date构造时的天溢出
  109. var uom = new Date(d - 0 + n * 86400000);
  110. uom = uom.getFullYear() + "/" + (uom.getMonth() + 1) + "/" + uom.getDate();
  111. return new Date(uom);
  112. };
  113. KISSY.use('node,calendar,calendar/assets/base.css', function(S, Node, Calendar) {
  114. var S_Date = S.Date;
  115. var i = 0;
  116. //静态日历,单击回调
  117. c = new Calendar('#J_Calendar').on('select', function(e) {
  118. alert(e.date);
  119. }, {
  120. popup:false
  121. });
  122. S.log(++i);
  123. //静态双月日历,默认选中某日
  124. c = new Calendar('#J_MultiPage_1', {
  125. pages:2,
  126. selected:showdate(-2, new Date()),
  127. popup:false
  128. });
  129. S.log(++i);
  130. //静态三月日历
  131. new Calendar('#J_MultiPage_2', {
  132. pages:3,
  133. popup:false
  134. });
  135. S.log(++i);
  136. //选择范围,并绑定范围回调
  137. new Calendar('#J_Range', {
  138. pages:2,
  139. rangeSelect:true,
  140. popup:false
  141. }).on('rangeSelect', function(e) {
  142. alert(e.start + ' ' + e.end);
  143. });
  144. S.log(++i);
  145. //选择范围,指定默认范围
  146. new Calendar('#J_DefaultRange', {
  147. pages:2,
  148. rangeSelect:true,
  149. popup:false,
  150. range:{
  151. start:showdate(-3, new Date()),
  152. end:showdate(5, new Date())
  153. }
  154. });
  155. S.log(++i);
  156. //月份切换事件
  157. new Calendar('#J_AllEvents', {
  158. popup:false
  159. }).on('monthChange', function(e) {
  160. alert('切换事件,月份切换到' + (e.date.getMonth() + 1));
  161. });
  162. S.log(++i);
  163. //Popup日历,默认点击触发
  164. new Calendar('#J_Popup', {
  165. popup:true,
  166. triggerType:['click'],
  167. closable:true
  168. }).on('select', function(e) {
  169. Node.one('#J_Popup').val(S_Date.format(e.date, 'localFullDate'));
  170. });
  171. S.log(++i);
  172. //Popup日历,默认点击触发,选择范围
  173. var k = new Calendar('#J_Popup2', {
  174. popup:true,
  175. triggerType:['click'],
  176. closable:false,
  177. pages:2,
  178. rangeSelect:true
  179. }).on('rangeSelect', function(e) {
  180. alert(e.start + ' ' + e.end);
  181. k.hide();
  182. //Node.one('#J_Popup').val(S_Date.format(e.date,'localFullDate'));
  183. });
  184. S.log(++i);
  185. //Popup日历,单选关闭
  186. new Calendar('#J_PopupClosable', {
  187. popup:true,
  188. closable:true,
  189. triggerType:['focus']
  190. }).on('select', function(e) {
  191. alert(e.date);
  192. });
  193. S.log(++i);
  194. //日历可操作范围
  195. c = new Calendar('#J_MinDateMaxDate', {
  196. minDate:new Date(),
  197. maxDate:showdate(10, new Date()),
  198. popup:false
  199. });
  200. S.log(++i);
  201. //日历可选择time
  202. c = new Calendar('#J_WithTime', {
  203. showTime:true,
  204. popup:false
  205. }).on('timeSelect', function(e) {
  206. alert(e.date);
  207. });
  208. S.log(++i);
  209. //可以自定义起始日期
  210. c = new Calendar('#J_CustomDay', {
  211. startDay:1,
  212. popup:false
  213. });
  214. S.log(++i);
  215. //更多定制
  216. c = new Calendar('#J_SelectResult', {
  217. popup:true
  218. });
  219. S.log(++i);
  220. //格式化时间类型
  221. c = new Calendar('#J_DateFormat', {
  222. showTime:true,
  223. popup:false
  224. }).on('timeSelect', function(e) {
  225. var type = Node.one('#J_DateType').val();
  226. if (type == 'custom') {
  227. type = Node.one('#J_CustomType').val();
  228. }
  229. alert(S_Date.format(e.date, type));
  230. });
  231. S.log(++i);
  232. });
  233. </script>
  234. </body>
  235. </html>