cal.js
上传用户:mingda
上传日期:2017-06-20
资源大小:27691k
文件大小:11k
源码类别:

OA系统

开发平台:

Java

  1. //日期参照
  2. function selectDate(txtValue)
  3. {
  4. var intLeft=0
  5. var intTop=0
  6. if(event.screenX+180 > document.body.clientWidth)
  7. intLeft=event.screenX+document.body.scrollLeft-180;
  8. else 
  9. intLeft=event.screenX+document.body.scrollLeft;
  10. if(event.screenY+190 > document.body.clientHeight)
  11. intTop=event.screenY+document.body.scrollTop-190;
  12. else
  13. intTop=event.screenY+document.body.scrollTop;
  14. //alert(intLeft+";"+intTop)
  15. var k = window.showModalDialog('dateselector.htm','','dialogwidth=180px; dialogheight=190px;dialogleft='+intLeft+'px;dialogtop='+intTop+'px;status=no');
  16. if(k!=null){
  17. //if (txtValue.value!="")
  18. // txtValue.value =txtValue.value +"n"+k
  19. //else
  20. txtValue.value=k;
  21. }
  22. txtValue.blur();
  23. }
  24. function show(year,month)
  25. {
  26. //alert(this.startdate);
  27. if(this.startday==0)
  28. {
  29. for(i=0;i<7;i++)
  30. {
  31. calTitle[i].innerHTML="<font size=" + this.titlesize + "px>"+this.tit[i]+"</b></font>";
  32. }
  33. }
  34. else
  35. {
  36. calTitle[0].innerHTML="<font size=" + this.titlesize + "px>"+this.tit[6]+"</b></font>";
  37. for(i=1;i<7;i++)
  38. {
  39. calTitle[i].innerHTML="<font size=" + this.titlesize + "px>"+this.tit[i-1]+"</b></font>";
  40. }
  41. }
  42. var da1 = new Date(year,month-1,1);
  43. var start,totalDay=31;
  44. if(month==4 || month==6 || month==9 || month==11)
  45. totalDay=30;
  46. else if(month==2)
  47. {
  48. if(year%400==0 || (year%4==0 && year%25!=0))
  49. totalDay=29;
  50. else
  51. totalDay=28;
  52. }
  53. if(this.startday==0)
  54. {
  55. start=da1.getDay()-1;
  56. if(start==-1)start=6;
  57. }else
  58. {
  59. start=da1.getDay();
  60. }
  61. for(i=0;i<start;i++)
  62. calDiv1[i].innerText="";
  63. for(i=0;i<totalDay;i++,start=start+1)
  64. {
  65. calDiv1[start].innerText=i+1;
  66. if(start==34)start=-1;
  67. }
  68. if(start>20)
  69. {
  70. for(i=start;i<35;i++)
  71. {
  72. calDiv1[i].innerText="";
  73. }
  74. }
  75. }
  76. function Calendar(language)
  77. {
  78. this.language=language;
  79. this.bgc = "#A3B2D3";
  80. //"aquamarine";
  81. this.tit=new Array();
  82. this.mon=new Array();
  83. this.cellWidth="80px";
  84. this.cellHeight="20px";
  85. this.startday=0;
  86. this.titlesize=4
  87. this.contentsize=24
  88. this.bgcolor="#A3B2D3";
  89. if(language==0)
  90. {
  91. this.tit[this.tit.length]="一";
  92. this.tit[this.tit.length]="二";
  93. this.tit[this.tit.length]="三";
  94. this.tit[this.tit.length]="四";
  95. this.tit[this.tit.length]="五";
  96. this.tit[this.tit.length]="六";
  97. this.tit[this.tit.length]="日";
  98. // this.tit[this.tit.length]="星期一";
  99. // this.tit[this.tit.length]="星期二";
  100. // this.tit[this.tit.length]="星期三";
  101. // this.tit[this.tit.length]="星期四";
  102. // this.tit[this.tit.length]="星期五";
  103. // this.tit[this.tit.length]="星期六";
  104. // this.tit[this.tit.length]="星期日";
  105. this.mon[this.mon.length]="一月";
  106. this.mon[this.mon.length]="二月";
  107. this.mon[this.mon.length]="三月";
  108. this.mon[this.mon.length]="四月";
  109. this.mon[this.mon.length]="五月";
  110. this.mon[this.mon.length]="六月";
  111. this.mon[this.mon.length]="七月";
  112. this.mon[this.mon.length]="八月";
  113. this.mon[this.mon.length]="九月";
  114. this.mon[this.mon.length]="十月";
  115. this.mon[this.mon.length]="十一月";
  116. this.mon[this.mon.length]="十二月";
  117. }else if(language==1)
  118. {
  119. this.tit[this.tit.length]="Mon";
  120. this.tit[this.tit.length]="Tues";
  121. this.tit[this.tit.length]="Wed";
  122. this.tit[this.tit.length]="Thur";
  123. this.tit[this.tit.length]="Fri";
  124. this.tit[this.tit.length]="Sat";
  125. this.tit[this.tit.length]="Sun";
  126. this.mon[this.mon.length]="January";
  127. this.mon[this.mon.length]="February";
  128. this.mon[this.mon.length]="March";
  129. this.mon[this.mon.length]="April";
  130. this.mon[this.mon.length]="May";
  131. this.mon[this.mon.length]="June";
  132. this.mon[this.mon.length]="July";
  133. this.mon[this.mon.length]="August";
  134. this.mon[this.mon.length]="September";
  135. this.mon[this.mon.length]="October";
  136. this.mon[this.mon.length]="November";
  137. this.mon[this.mon.length]="December";
  138. }else if(language==2)
  139. {
  140. this.tit[this.tit.length]="Monday";
  141. this.tit[this.tit.length]="Tuesday";
  142. this.tit[this.tit.length]="Wednesday";
  143. this.tit[this.tit.length]="Thurday";
  144. this.tit[this.tit.length]="Friday";
  145. this.tit[this.tit.length]="Saturday";
  146. this.tit[this.tit.length]="Sunday";
  147. this.mon[this.mon.length]="January";
  148. this.mon[this.mon.length]="February";
  149. this.mon[this.mon.length]="March";
  150. this.mon[this.mon.length]="April";
  151. this.mon[this.mon.length]="May";
  152. this.mon[this.mon.length]="June";
  153. this.mon[this.mon.length]="July";
  154. this.mon[this.mon.length]="August";
  155. this.mon[this.mon.length]="September";
  156. this.mon[this.mon.length]="October";
  157. this.mon[this.mon.length]="November";
  158. this.mon[this.mon.length]="December";
  159. }
  160. this.create=createTa;
  161. this.showDate=show;
  162. this.setDetail=calSetDetail;
  163. this.setColor=calSetColor;
  164. this.setbgColor=calSetbgColor;
  165. this.setLanguage=calSetLan;
  166. this.dateClick="dateClick";
  167. }
  168. function calSetLan(language)
  169. {
  170. this.language=language;
  171. this.tit.length=0;
  172. this.mon.length=0;
  173. if(language==0)
  174. {
  175. this.tit[this.tit.length]="一";
  176. this.tit[this.tit.length]="二";
  177. this.tit[this.tit.length]="三";
  178. this.tit[this.tit.length]="四";
  179. this.tit[this.tit.length]="五";
  180. this.tit[this.tit.length]="六";
  181. this.tit[this.tit.length]="日";
  182. // this.tit[this.tit.length]="星期一";
  183. // this.tit[this.tit.length]="星期二";
  184. // this.tit[this.tit.length]="星期三";
  185. // this.tit[this.tit.length]="星期四";
  186. // this.tit[this.tit.length]="星期五";
  187. // this.tit[this.tit.length]="星期六";
  188. // this.tit[this.tit.length]="星期日";
  189. this.mon[this.mon.length]="一月";
  190. this.mon[this.mon.length]="二月";
  191. this.mon[this.mon.length]="三月";
  192. this.mon[this.mon.length]="四月";
  193. this.mon[this.mon.length]="五月";
  194. this.mon[this.mon.length]="六月";
  195. this.mon[this.mon.length]="七月";
  196. this.mon[this.mon.length]="八月";
  197. this.mon[this.mon.length]="九月";
  198. this.mon[this.mon.length]="十月";
  199. this.mon[this.mon.length]="十一月";
  200. this.mon[this.mon.length]="十二月";
  201. }else if(language==1)
  202. {
  203. this.tit[this.tit.length]="Mon";
  204. this.tit[this.tit.length]="Tues";
  205. this.tit[this.tit.length]="Wed";
  206. this.tit[this.tit.length]="Thur";
  207. this.tit[this.tit.length]="Fri";
  208. this.tit[this.tit.length]="Sat";
  209. this.tit[this.tit.length]="Sun";
  210. this.mon[this.mon.length]="January";
  211. this.mon[this.mon.length]="February";
  212. this.mon[this.mon.length]="March";
  213. this.mon[this.mon.length]="April";
  214. this.mon[this.mon.length]="May";
  215. this.mon[this.mon.length]="June";
  216. this.mon[this.mon.length]="July";
  217. this.mon[this.mon.length]="August";
  218. this.mon[this.mon.length]="September";
  219. this.mon[this.mon.length]="October";
  220. this.mon[this.mon.length]="November";
  221. this.mon[this.mon.length]="December";
  222. }else if(language==2)
  223. {
  224. this.tit[this.tit.length]="Monday";
  225. this.tit[this.tit.length]="Tuesday";
  226. this.tit[this.tit.length]="Wednesday";
  227. this.tit[this.tit.length]="Thurday";
  228. this.tit[this.tit.length]="Friday";
  229. this.tit[this.tit.length]="Saturday";
  230. this.tit[this.tit.length]="Sunday";
  231. this.mon[this.mon.length]="January";
  232. this.mon[this.mon.length]="February";
  233. this.mon[this.mon.length]="March";
  234. this.mon[this.mon.length]="April";
  235. this.mon[this.mon.length]="May";
  236. this.mon[this.mon.length]="June";
  237. this.mon[this.mon.length]="July";
  238. this.mon[this.mon.length]="August";
  239. this.mon[this.mon.length]="September";
  240. this.mon[this.mon.length]="October";
  241. this.mon[this.mon.length]="November";
  242. this.mon[this.mon.length]="December";
  243. }
  244. }
  245. function calSetbgColor(calDay1,color)
  246. {
  247. var day1 = new Date(calDay1.getYear(),calDay1.getMonth(),1);
  248. var tmp;
  249. //if(this.startday==0)
  250. //{
  251. tmp=day1.getDay();
  252. if(tmp==0)tmp=7;
  253. //else
  254. //tmp-=1;
  255. //}
  256. //else
  257. //{
  258. // tmp=day1.getDay();
  259. //}
  260. tmp=tmp+calDay1.getDate()-2;
  261. if(tmp>34)tmp-=35;
  262. calDiv1[tmp].style.backgroundColor=color;
  263. }
  264. function calSetColor(calDay1,color)
  265. {
  266. var day1 = new Date(calDay1.getYear(),calDay1.getMonth(),1);
  267. var tmp;
  268. if(this.startday==0)
  269. {
  270. tmp=day1.getDay();
  271. if(tmp==0)tmp=7;
  272. else
  273. tmp-=1;
  274. }
  275. else
  276. {
  277. tmp=day1.getDay();
  278. }
  279. tmp=tmp+calDay1.getDate()-1;
  280. if(tmp>34)tmp-=35;
  281. calDiv1[tmp].style.color=color;
  282. }
  283. function calSetDetail(detail)
  284. {
  285. calDetail.innerText=detail;
  286. }
  287. function createTa()
  288. {
  289. document.write("<div id=calendar align=right>");
  290. //document.write("<INPUT type=button value=▼ id=caldown onclick=caldown()>");
  291. document.write("<font onclick="yeardown()" style="cursor:hand"><< </font><input type=text value=" + new Date().getYear() + " id=calyear style="background-color:" + this.bgcolor + ";BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px; width:40px" disabled></input><font onclick="yearup()" style="cursor:hand">>></font>");
  292. document.write("<select style="background-color:" + this.bgcolor + "" id=calmonth onchange=bbb.showDate(calyear.value,calmonth.value)>");
  293. for(i=1;i<13;i++)
  294. {
  295. document.write("<option value=" + i + ">" + i + "</option>");
  296. }
  297. document.write("</select>");
  298. //document.write("<input type=text value=12 size=2 id=calmonth></inpub>");
  299. //document.write("<INPUT type=button value=▲ id=calup onclick=calup()>");
  300. calmonth.value=new Date().getMonth()+1;
  301. document.write("</div>");
  302. //document.write("<hr>");
  303. document.write("<table align=center>");
  304. document.write("<tr>");
  305. if(this.startday==0)
  306. {
  307. for(i=0;i<this.tit.length;i++)
  308. {
  309. // document.write("<td nowrap align=center><div id=calTitle></td></td>");
  310. document.write("<td nowrap align=center><div id=calTitle><font size=" + this.titlesize + "px><b>" + this.tit[i] + "</b></font></td></td>");
  311. }
  312. }else
  313. {
  314. //document.write("<td nowrap><div id=calTitle></div></td>");
  315. document.write("<td nowrap><div id=calTitle><font size=" + this.titlesize + "px><b>" + this.tit[6] + "</b></font></div></td>");
  316. for(i=0;i<this.tit.length-1;i++)
  317. {
  318. // document.write("<td nowrap align=center><div id=calTitle></div></td>");
  319. Document.write("<td nowrap align=center><div id=calTitle><font size=" + this.titlesize + "px><b>" + this.tit[i] + "</b></font></div></td>");
  320. }
  321. }
  322. document.write("</tr>");
  323. document.write("<tr><td colspan=7><hr size=1></td></tr>");
  324. for(i=0;i<5;i++)
  325. {
  326. document.write("<tr>");
  327. for(j=0;j<7;j++)
  328. {
  329. if(j==6 || (j==5 && this.startday==0) || (j==0 && this.startday!=0))
  330. document.write("<td align=center><div face="Arial Black" id="calDiv1" style="font-size:" + this.contentsize + "px;color:red;BACKGROUND-COLOR:" + this.bgc + ";cursor:hand" onclick="" + this.dateClick +"(calyear.value+(calmonth.value<10?'0':'')+calmonth.value+(this.innerText<10?'0':'')+this.innerText)"></div></td>");
  331. else
  332. document.write("<td align=center><div face="Arial Black" id="calDiv1" style="cursor:hand;font-size:" + this.contentsize + "px;color:blue" onclick="" + this.dateClick + "(calyear.value+(calmonth.value<10?'0':'')+calmonth.value+(this.innerText<10?'0':'')+this.innerText)"></div></td>");
  333. }
  334. document.write("</tr>");
  335. //document.write("<tr><td colspan=7><hr size=1></td></tr>");
  336. }
  337. document.write("<tr><td colspan=7 align=right><div id="calDetail"></div></td></tr>")
  338. document.write("</table>");
  339. //document.write("<hr>");
  340. }
  341. function dateClick(date)
  342. {
  343. alert(date);
  344. }
  345. function yearup()
  346. {
  347. calyear.value=calyear.value-1+2;
  348. bbb.showDate(calyear.value,calmonth.value);
  349. }
  350. function yeardown()
  351. {
  352. calyear.value=calyear.value-1;
  353. bbb.showDate(calyear.value,calmonth.value);
  354. }
  355. function calup()
  356. {
  357. calmonth.value=calmonth.value-1+2;
  358. if(calmonth.value==13)
  359. {
  360. calmonth.value=1;
  361. calyear.value=calyear.value-1+2;
  362. }
  363. bbb.showDate(calyear.value,calmonth.value);
  364. }
  365. function caldown()
  366. {
  367. calmonth.value=calmonth.value-1;
  368. if(calmonth.value==0)
  369. {
  370. calmonth.value=12;
  371. calyear.value=calyear.value-1;
  372. }
  373. bbb.showDate(calyear.value,calmonth.value);
  374. }