亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

jQuery簡單實現日歷的方法

2024-05-06 16:19:16
字體:
來源:轉載
供稿:網友

本文實例講述了jQuery簡單實現日歷的方法。分享給大家供大家參考。具體分析如下:

原理挺簡單的,首先算出一個月有多少天,再算出這個月的第一天是星期幾,接著順序排下來就可以了.

 

 
  1. <!DOCTYPE HTML> 
  2. <html lang="zh-CN"
  3. <head> 
  4. <meta charset="utf-8"
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" /> 
  6. <meta name="format-detection" content="telephone=no" /> 
  7. <title>tryMyOwnCalendar</title> 
  8. <script src="js/jquery.min.js" language="javascript"></script> 
  9. <style> 
  10. *{ margin:0; padding:0;} 
  11. .choosecal{ width:96%; margin:3% auto; overflow:hidden;} 
  12. .ccaltop{ width:100%; border-radius:5px; } 
  13. .caltline1,.caltline2{ width:94%; background-color:#F90; overflow:hidden; padding:2% 3%;} 
  14. .caltline1 p,.caltline2 p{ float:left; width:10%; font-weight:700; text-align:right;} 
  15. .caltline1 .bookdate{ width:90%; text-align:left;} 
  16. .caltline2{ background-color:#FFF; display:none;} 
  17. .caltline2 p{ width:20%;} 
  18. .caltline2 .datetext{ width:35%; border:1px solid #000;  
  19. background-color:#FFF; font-weight:700;} 
  20. .inputdate{ color:#F60;} 
  21. .calender{ width:100%; margin-top:3%; overflow:hidden; display:none;} 
  22. .selectmouth{ background-color:#F30; width:94%;  
  23. overflow:hidden;padding:2% 3%;border-radius:5px 5px 0 0;} 
  24. .selectmouth p{ float:left; width:33%; color:#FFF; 
  25. font-weight:700; cursor:pointer;} 
  26. .selectmouth .selectdate{ width:100%; background-color:#F30;  
  27. border:none; color:#FFF; font-weight:700; text-align:center;}  
  28. .data_table{ width:100%;border:1px solid #cccccc; 
  29. border-collapse:collapse; } 
  30. .data_table thead{ background-color:#333;} 
  31. .data_table thead td{ color:#FFF; text-align:center; 
  32. border:1px solid #333;border-collapse:collapse; padding:1% 0; 
  33. .data_table tbody td{border:1px solid #cccccc; 
  34. border-collapse:collapse; 
  35. text-align:center;color:#0C6;padding:1% 0; 
  36. .data_table tbody td.orderdate{ color:#000;} 
  37. .data_table tbody td.tdselect{ color:#fff;background-color:#999} 
  38. </style> 
  39. </head> 
  40. <body> 
  41. <div class="choosecal"
  42. <div class="ccaltop"
  43. <div class="caltline1"
  44. <p class="bookdate">選擇入住日期……</p> 
  45. <p><img src="images/next.png" /></p> 
  46. </div> 
  47. <div class="caltline2"
  48. <p style=" width:80%; text-align:left;"
  49. <input type="text" value="" 
  50. class="datetext datetoday inputdate" readonly=readonly /> 
  51. 至 
  52. <input type="text" value="" class="datetext dateendday" 
  53. readonly=readonly /> 
  54. </p> 
  55. <p><input type="button" value="確定" class="btsure" /></p> 
  56. </div> 
  57. </div> 
  58. <div class="calender"
  59. <div class="selectmouth"
  60. <p style="text-align:right" class="lastmonth"><</p> 
  61. <p><input type="text" class="selectdate" value="2014年2月" readonly=readonly /></p> 
  62. <p class="nextmonth">></p> 
  63. </div> 
  64. <table class="data_table" cellspacing="0px"
  65. <thead> 
  66. <tr> 
  67. <td>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td> 
  68. </tr> 
  69. </thead> 
  70. <tbody> 
  71. <tr> 
  72. <td>1</td><td></td><td></td><td></td><td></td><td></td><td></td> 
  73. </tr> 
  74. <tr> 
  75. <td>1</td><td></td><td></td><td></td><td></td><td></td><td></td> 
  76. </tr> 
  77. <tr> 
  78. <td>1</td><td></td><td></td><td></td><td></td><td></td><td></td> 
  79. </tr> 
  80. <tr> 
  81. <td>1</td><td></td><td></td><td></td><td></td><td></td><td></td> 
  82. </tr> 
  83. <tr> 
  84. <td>1</td><td></td><td></td><td></td><td></td><td></td><td></td> 
  85. </tr> 
  86. <tr> 
  87. <td>1</td><td></td><td></td><td></td><td></td><td></td><td></td> 
  88. </tr> 
  89. </tbody> 
  90. </table> 
  91. </div> 
  92. </div> 
  93. <script> 
  94. window.onload=function(){ 
  95. var mydate=new Date(); 
  96. var thisyear=mydate.getFullYear(); 
  97. var thismonth=mydate.getMonth()+1; 
  98. var thisday=mydate.getDate(); 
  99. var mydate1=new Date(); 
  100. var thisyear1=mydate1.getFullYear(); 
  101. var thismonth1=mydate1.getMonth()+1; 
  102. var thisday1=mydate1.getDate(); 
  103. var selectday=thisday;  
  104. //標記日期 
  105. var indate=thisday;  
  106. //入住日期 
  107. var inmonth=thismonth;  
  108. //入住月份 
  109. var outdate=thisday+1;  
  110. //退房日期 
  111. var outmonth=thismonth;  
  112. //退房月份 
  113. var datetxt="datetoday";  
  114. var datefirst; 
  115. var datesecond; 
  116. function initdata(){  
  117. //日期初始填充 
  118. var tdheight=jQuery(".data_table tbody tr").eq(0).find("td").height(); 
  119. jQuery(".data_table tbody td").css("height",tdheight); 
  120. jQuery(".selectdate").val(thisyear+"年"+thismonth+"月"); 
  121. var days=getdaysinonemonth(thisyear,thismonth); 
  122. var weekday=getfirstday(thisyear,thismonth); 
  123. setcalender(days,weekday);  
  124. markdate(thisyear,thismonth,selectday); 
  125. orderabledate(thisyear,thismonth,thisday); 
  126. initdata(); 
  127. jQuery(".datetoday").val(thisyear+"-"+thismonth+"-"+thisday); 
  128. jQuery(".dateendday").val(thisyear+"-"+thismonth+"-"+(thisday+1)); 
  129. function orderabledate(thisyear,thismonth,thisday){  
  130. //能預訂的日期 
  131. if(thisyear<thisyear1){ 
  132. jQuery(".data_table tbody td").addClass("orderdate"); 
  133. jQuery(".data_table tbody td").removeClass("usedate"); 
  134. }else if(thisyear==thisyear1){ 
  135. if(thismonth<thismonth1){ 
  136. jQuery(".data_table tbody td").addClass("orderdate"); 
  137. jQuery(".data_table tbody td").removeClass("usedate"); 
  138. }else if(thismonth==thismonth1){ 
  139. for(var j=0;j<6;j++){ 
  140. for(var i=0;i<7;i++){ 
  141. var tdhtml=jQuery(".data_table tbody tr").eq(j).find("td").eq(i).html(); 
  142. if(tdhtml<thisday){ 
  143. jQuery(".data_table tbody tr").eq(j).find("td").eq(i).addClass("orderdate"); 
  144. jQuery(".data_table tbody tr").eq(j).find("td").eq(i).removeClass("usedate"); 
  145. }else
  146. jQuery(".data_table tbody tr").eq(j).find("td").eq(i).removeClass("orderdate"); 
  147. }else
  148. jQuery(".data_table tbody td").removeClass("orderdate"); 
  149. }else
  150. jQuery(".data_table tbody td").removeClass("orderdate"); 
  151. function markdate(thisyear,thismonth,thisday){  
  152. //標記日期 
  153. var datetxt=thisyear+"年"+thismonth+"月"
  154. var thisdatetxt=thisyear1+"年"+thismonth1+"月"
  155. jQuery(".data_table td").removeClass("tdselect"); 
  156. if(datetxt==thisdatetxt){ 
  157. for(var j=0;j<6;j++){ 
  158. for(var i=0;i<7;i++){ 
  159. var tdhtml=jQuery(".data_table tbody tr").eq(j).find("td").eq(i).html(); 
  160. if(tdhtml==thisday){ 
  161. jQuery(".data_table tbody tr").eq(j).find("td").eq(i).addClass("tdselect"); 
  162. function getdaysinonemonth(year,month){  
  163. //算某個月的總天數 
  164. month=parseInt(month,10); 
  165. var d=new Date(year,month,0); 
  166. return d.getDate(); 
  167. function getfirstday(year,month){  
  168. //算某個月的第一天是星期幾 
  169. month=month-1; 
  170. var d=new Date(year,month,1); 
  171. return d.getDay(); 
  172. function setcalender(days,weekday){  
  173. //往日歷中填入日期 
  174. var a=1; 
  175. for(var j=0;j<6;j++){ 
  176. for(var i=0;i<7;i++){ 
  177. if(j==0&&i<weekday){ 
  178. jQuery(".data_table tbody tr").eq(0).find("td").eq(i).html(""); 
  179. jQuery(".data_table tbody tr").eq(0).find("td").eq(i).removeClass("usedate"); 
  180. }else
  181. if(a<=days){ 
  182. jQuery(".data_table tbody tr").eq(j).find("td").eq(i).html(a); 
  183. jQuery(".data_table tbody tr").eq(j).find("td").eq(i).addClass("usedate"); 
  184. a++; 
  185. }else
  186. jQuery(".data_table tbody tr").eq(j).find("td").eq(i).html(""); 
  187. jQuery(".data_table tbody tr").eq(j).find("td").eq(i).removeClass("usedate"); 
  188. a=days+1; 
  189. function errorreset(){  
  190. //日期報錯后,數據重置 
  191. thisyear=thisyear1; 
  192. thismonth=thismonth1; 
  193. thisday=thisday1; 
  194. selectday=thisday1; 
  195. indate=thisday1; 
  196. inmonth=thismonth1; 
  197. outdate=thisday1+1; 
  198. outmonth=thismonth1; 
  199. initdata(); 
  200. jQuery(".data_table tbody td.usedate").live("click",function(){ //點擊日期的效果 
  201. var thishtml=parseInt(jQuery(this).html()); 
  202. jQuery(".data_table td").removeClass("tdselect"); 
  203. jQuery(this).addClass("tdselect"); 
  204. selectday=thishtml; 
  205. if(datetxt=="datetoday"){ 
  206. jQuery(".datetoday").val(thisyear+"-"+thismonth+"-"+selectday); 
  207. indate=selectday; 
  208. inmonth=thismonth; 
  209. }else
  210. jQuery(".dateendday").val(thisyear+"-"+thismonth+"-"+selectday); 
  211. outdate=selectday; 
  212. outmonth=thismonth; 
  213. if(outmonth<inmonth){ 
  214. alert("日期填寫錯誤"); 
  215. jQuery(".datetoday").val(thisyear1+"-"+thismonth1+"-"+thisday1); 
  216. jQuery(".dateendday").val(thisyear1+"-"+thismonth1+"-"+(thisday1+1)); 
  217. errorreset(); 
  218. }else if(outmonth==inmonth){ 
  219. if(outdate<=indate){ 
  220. alert("日期填寫錯誤"); 
  221. jQuery(".datetoday").val(thisyear1+"-"+thismonth1+"-"+thisday1); 
  222. jQuery(".dateendday").val(thisyear1+"-"+thismonth1+"-"+(thisday1+1)); 
  223. errorreset(); 
  224. }); 
  225. jQuery(".datetoday").click(function(){  
  226. //選擇入住日期 
  227. datetxt="datetoday"
  228. jQuery(".datetext").removeClass("inputdate"); 
  229. jQuery(this).addClass("inputdate"); 
  230. }); 
  231. jQuery(".dateendday").click(function(){  
  232. //選擇退房日期 
  233. datetxt="dateendday"
  234. jQuery(".datetext").removeClass("inputdate"); 
  235. jQuery(this).addClass("inputdate"); 
  236. }); 
  237. jQuery(".lastmonth").click(function(){  
  238. //上一個月 
  239. thismonth--; 
  240. if(thismonth==0){ 
  241. thismonth=12; 
  242. thisyear--; 
  243. initdata(); 
  244. }); 
  245. jQuery(".nextmonth").click(function(){  
  246. //上一個月 
  247. thismonth++; 
  248. if(thismonth==13){ 
  249. thismonth=1; 
  250. thisyear++; 
  251. initdata(); 
  252. }); 
  253. jQuery(".btsure").click(function(){  
  254. //確定日期 
  255. var start = new Date($(".datetoday").val());  
  256. var end = new Date($(".dateendday").val());  
  257. var diff = parseInt((end - start) / (1000*3600*24));  
  258. jQuery(".bookdate").html(inmonth+"月"+indate+"日至"+outmonth+"月"+outdate+"日("+diff+")晚"
  259. }); 
  260. jQuery(".caltline1").toggle( 
  261. function(){ 
  262. jQuery(".caltline2").slideDown(500); 
  263. jQuery(".calender").fadeIn(500); 
  264. errorreset(); 
  265. jQuery(".caltline1").find("img").attr("src","images/iconpointup.png"); 
  266. }, 
  267. function(){ 
  268. jQuery(".caltline2").slideUp(500); 
  269. jQuery(".calender").fadeOut(500); 
  270. jQuery(".caltline1").find("img").attr("src","images/iconpoint.png"); 
  271. ); 
  272. </script> 
  273. </body> 
  274. </html> 

希望本文所述對大家的jQuery程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美伊久线香蕉线新在线| 亚洲男人的天堂在线| 91丝袜美腿美女视频网站| 精品亚洲夜色av98在线观看| 91久久国产精品91久久性色| 国产噜噜噜噜久久久久久久久| 精品国产一区二区在线| 日韩欧美在线视频观看| 亚洲综合精品伊人久久| 国内外成人免费激情在线视频| 国产精品影片在线观看| 亚洲成人动漫在线播放| 欧美日韩成人精品| 日韩国产中文字幕| 国产精品久久久久av免费| 欧美孕妇毛茸茸xxxx| 欧美极品少妇xxxxⅹ免费视频| 久久精品国产99国产精品澳门| 97在线视频观看| 国产亚洲精品va在线观看| 成人精品一区二区三区电影黑人| 91影院在线免费观看视频| 操日韩av在线电影| 91av中文字幕| 国产精品中文字幕在线| 亚州国产精品久久久| 亚洲欧洲午夜一线一品| 日韩福利伦理影院免费| 欧美在线一区二区三区四| 国产精品999999| 国产精品最新在线观看| 色综合91久久精品中文字幕| 日韩精品电影网| 久久精品国产亚洲精品| 欧美色videos| 久热精品视频在线免费观看| 中文字幕日韩视频| 国产欧美精品xxxx另类| 色综合久久悠悠| 中文字幕视频在线免费欧美日韩综合在线看| 91精品久久久久久久久不口人| 久久人人爽国产| 日韩av中文字幕在线免费观看| 国产精品88a∨| 91精品国产自产在线老师啪| 成人免费网视频| 久久亚洲影音av资源网| 亚洲天堂第一页| 精品福利视频导航| 欧美精品精品精品精品免费| 91视频8mav| 亚洲午夜精品久久久久久性色| 这里只有精品在线播放| 国产精品九九久久久久久久| 亚洲激情在线观看视频免费| 国内精品一区二区三区四区| 日韩欧美综合在线视频| 欧美性猛交丰臀xxxxx网站| 95av在线视频| 色婷婷综合久久久久| 成年无码av片在线| 国产不卡av在线| 97精品伊人久久久大香线蕉| 欧美精品午夜视频| 日韩欧美在线国产| 成人午夜高潮视频| 欧美日韩亚洲视频一区| 久久久噜噜噜久久中文字免| 一区二区三区天堂av| 国产视频精品va久久久久久| 国产午夜精品美女视频明星a级| 日韩av有码在线| 欧美大码xxxx| 欧美在线不卡区| 日本老师69xxx| 九九热r在线视频精品| 亚洲第一福利视频| 国产视频999| 国产精品嫩草影院一区二区| 亚洲欧美日韩久久久久久| 亚洲男人天堂古典| 91精品国产777在线观看| 成人深夜直播免费观看| 日韩av免费在线观看| 欧美成人久久久| 国产精品电影久久久久电影网| 亚洲999一在线观看www| 国产日韩欧美视频| 96sao精品视频在线观看| 中文字幕不卡在线视频极品| 亚洲福利视频网站| 91色琪琪电影亚洲精品久久| 精品女同一区二区三区在线播放| 国产精品久久97| 一本色道久久88综合日韩精品| 成人免费福利视频| 国产免费久久av| 性色av一区二区三区免费| 91夜夜未满十八勿入爽爽影院| 91色在线观看| 日本人成精品视频在线| 国内外成人免费激情在线视频| 裸体女人亚洲精品一区| 国产精选久久久久久| 日韩日本欧美亚洲| 国产欧美日韩综合精品| 亚洲成人av片在线观看| 日韩精品中文字幕在线播放| 欧美黄色免费网站| 国产成人精品国内自产拍免费看| 国产盗摄xxxx视频xxx69| 国产精品久久久久久久久久久久| 日韩在线视频国产| 欧美激情区在线播放| 亚洲欧美色婷婷| 久久视频在线播放| 国产精品video| 九九热这里只有在线精品视| 国产精品美女999| 成人免费视频97| 疯狂做受xxxx欧美肥白少妇| 国产精品吊钟奶在线| 欧美大片免费看| 精品久久香蕉国产线看观看gif| 亚洲福利精品在线| 日韩一二三在线视频播| 欧美激情第6页| 精品久久久久久久久久久久久| 欧美激情视频在线| 成人黄色免费在线观看| 欧美性猛交xxxx偷拍洗澡| 国产精品美乳在线观看| 久久精品国产一区二区电影| 深夜精品寂寞黄网站在线观看| 欧美精品www| 日韩中文在线中文网三级| 久久97精品久久久久久久不卡| 日本高清视频一区| 欧美亚洲在线视频| 精品国产乱码久久久久久虫虫漫画| 欧美一区二粉嫩精品国产一线天| 欧美激情xxxx性bbbb| 在线精品国产欧美| 美女av一区二区| 国内揄拍国内精品少妇国语| 欧美影院在线播放| 夜夜嗨av一区二区三区免费区| 国产亚洲一区二区精品| 亚洲人成77777在线观看网| 久久亚洲国产成人| 久久久噜噜噜久久久| 亚洲free性xxxx护士白浆| 亚洲精品国产精品乱码不99按摩| 欧美怡春院一区二区三区| 国产在线日韩在线| 成人精品一区二区三区| 日本亚洲欧美成人| 欧美福利视频在线观看| 欧美视频在线观看免费网址| 欧美成人精品一区二区三区| 九九热精品视频国产| 国产精品xxxxx| 中文字幕精品影院| 亚洲午夜精品久久久久久久久久久久|