You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

calendar.js 24 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797
  1. //全局的年月日,适用于任何时候获取今天的年月日。(很重要)
  2. var sev_m, sev_y, sev_d, active = 3;
  3. // mySwiper.destroy(deleteInstance, cleanupStyles)
  4. var mySwiper = null;
  5. var yl = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  6. var swiperHtml = $('#swiperBox').html();
  7. //判断农历
  8. var LunarDate = {
  9. madd: new Array(0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334),
  10. HsString: '甲乙丙丁戊己庚辛壬癸',
  11. EbString: '子丑寅卯辰巳午未申酉戌亥',
  12. NumString: "一二三四五六七八九十",
  13. MonString: "正二三四五六七八九十冬腊",
  14. CalendarData: new Array(0xA4B, 0x5164B, 0x6A5, 0x6D4, 0x415B5, 0x2B6, 0x957, 0x2092F, 0x497, 0x60C96, 0xD4A,
  15. 0xEA5, 0x50DA9, 0x5AD, 0x2B6, 0x3126E, 0x92E, 0x7192D, 0xC95, 0xD4A, 0x61B4A, 0xB55, 0x56A, 0x4155B,
  16. 0x25D, 0x92D, 0x2192B, 0xA95, 0x71695, 0x6CA, 0xB55, 0x50AB5, 0x4DA, 0xA5B, 0x30A57, 0x52B, 0x8152A,
  17. 0xE95, 0x6AA, 0x615AA, 0xAB5, 0x4B6, 0x414AE, 0xA57, 0x526, 0x31D26, 0xD95, 0x70B55, 0x56A, 0x96D,
  18. 0x5095D, 0x4AD, 0xA4D, 0x41A4D, 0xD25, 0x81AA5, 0xB54, 0xB6A, 0x612DA, 0x95B, 0x49B, 0x41497, 0xA4B,
  19. 0xA164B, 0x6A5, 0x6D4, 0x615B4, 0xAB6, 0x957, 0x5092F, 0x497, 0x64B, 0x30D4A, 0xEA5, 0x80D65, 0x5AC,
  20. 0xAB6, 0x5126D, 0x92E, 0xC96, 0x41A95, 0xD4A, 0xDA5, 0x20B55, 0x56A, 0x7155B, 0x25D, 0x92D, 0x5192B,
  21. 0xA95, 0xB4A, 0x416AA, 0xAD5, 0x90AB5, 0x4BA, 0xA5B, 0x60A57, 0x52B, 0xA93, 0x40E95),
  22. Year: null,
  23. Month: null,
  24. Day: null,
  25. TheDate: null,
  26. GetBit: function (m, n) {
  27. return (m >> n) & 1;
  28. },
  29. e2c: function () {
  30. this.TheDate = (arguments.length != 3) ? new Date() : new Date(arguments[0], arguments[1], arguments[
  31. 2]);
  32. var total, m, n, k;
  33. var isEnd = false;
  34. var tmp = this.TheDate.getFullYear();
  35. total = (tmp - 1921) * 365 + Math.floor((tmp - 1921) / 4) + this.madd[this.TheDate.getMonth()] + this
  36. .TheDate.getDate() - 38;
  37. if (this.TheDate.getYear() % 4 == 0 && this.TheDate.getMonth() > 1) {
  38. total++;
  39. }
  40. for (m = 0; ; m++) {
  41. k = (this.CalendarData[m] < 0xfff) ? 11 : 12;
  42. for (n = k; n >= 0; n--) {
  43. if (total <= 29 + this.GetBit(this.CalendarData[m], n)) {
  44. isEnd = true;
  45. break;
  46. }
  47. total = total - 29 - this.GetBit(this.CalendarData[m], n);
  48. }
  49. if (isEnd)
  50. break;
  51. }
  52. this.Year = 1921 + m;
  53. this.Month = k - n + 1;
  54. this.Day = total;
  55. if (k == 12) {
  56. if (this.Month == Math.floor(this.CalendarData[m] / 0x10000) + 1) {
  57. this.Month = 1 - this.Month;
  58. }
  59. if (this.Month > Math.floor(this.CalendarData[m] / 0x10000) + 1) {
  60. this.Month--;
  61. }
  62. }
  63. },
  64. GetcDateString: function (tip) {
  65. if (tip == 1) {
  66. var ts = (this.Day < 11) ? "初" : ((this.Day < 20) ? "十" : ((this.Day < 30) ? "廿" : "三十"));
  67. if (this.Day % 10 != 0 || this.Day == 10) {
  68. ts += this.NumString.charAt((this.Day - 1) % 10);
  69. }
  70. return ts;
  71. }
  72. var tmp = "";
  73. if (this.Month < 1) {
  74. tmp += this.MonString.charAt(-this.Month - 1);
  75. } else {
  76. tmp += this.MonString.charAt(this.Month - 1);
  77. }
  78. tmp += "月";
  79. tmp += (this.Day < 11) ? "初" : ((this.Day < 20) ? "十" : ((this.Day < 30) ? "廿" : "三十"));
  80. if (this.Day % 10 != 0 || this.Day == 10) {
  81. tmp += this.NumString.charAt((this.Day - 1) % 10);
  82. }
  83. return tmp;
  84. },
  85. GetLunarDay: function (solarYear, solarMonth, solarDay) {
  86. if (solarYear < 1921 || solarYear > 2020) {
  87. return "";
  88. } else {
  89. solarMonth = (parseInt(solarMonth) > 0) ? (solarMonth - 1) : 11;
  90. this.e2c(solarYear, solarMonth, solarDay);
  91. return this.GetcDateString(0);
  92. }
  93. },
  94. GetLunarDayDetail: function (solarYear, solarMonth, solarDay) {
  95. if (solarYear < 1921 || solarYear > 2020) {
  96. return "";
  97. } else {
  98. solarMonth = (parseInt(solarMonth) > 0) ? (solarMonth - 1) : 11;
  99. this.e2c(solarYear, solarMonth, solarDay);
  100. return this.GetcDateString(1);
  101. }
  102. }
  103. };
  104. $(function () {
  105. $(".prorup").on("click", function () {
  106. $(".prorup").hide();
  107. $(".jie").hide();
  108. $(".layer").hide();
  109. });
  110. $(".jqclass").click(function () {
  111. var riziss = $(this).attr('data');
  112. var srt = riziss.split("-");
  113. $(".prorup").hide();
  114. $(".layer").hide();
  115. jump(srt[0], srt[1], srt[2]);
  116. $(".jie").hide();
  117. });
  118. });
  119. function jump(yyyy, mm, dd) {
  120. sev_y = parseInt(yyyy);
  121. sev_m = parseInt(mm);
  122. sev_d = parseInt(dd);
  123. active = 3;
  124. var globledate = new Date(yyyy, parseInt(mm) - 1, parseInt(dd));
  125. //var nowweak = globledate.getDay();
  126. var y = globledate.getFullYear();
  127. var m = globledate.getMonth() + 1;
  128. var d = globledate.getDate();
  129. //console.log("globledate:",y,m,d);
  130. var sev_m_tmp = m;
  131. var sev_y_tmp = y;
  132. var sev_d_tmp = d;
  133. var nowweak = new Date(y, m - 1, 1).getDay();
  134. if (nowweak == 7) nowweak = 0;
  135. get_first(nowweak, y, m, d, "d3");
  136. m = m + 1;
  137. if (m > 12) {
  138. m = 1;
  139. y += 1;
  140. }
  141. nowweak = new Date(y, m - 1, 1).getDay();
  142. get_first(nowweak, y, m, 0, "d4");
  143. m = sev_m - 1;
  144. if (m < 1) {
  145. m = 12;
  146. y = sev_y - 1;
  147. }
  148. nowweak = new Date(y, m - 1, 1).getDay();
  149. get_first(nowweak, y, m, 0, "d2");
  150. $("#ymym").html(sev_y + "年" + sev_m + "月");
  151. $(".covers").hide();
  152. mySwiper.slideTo(2, 500, false);
  153. click_sev();
  154. }
  155. function click_sev() {
  156. $("#d3").find("td").each(function () {
  157. if ($(this).attr("data_y") == sev_y && $(this).attr("data_m") == sev_m && $(this).attr("data_d") ==
  158. sev_d) {
  159. $(this).click();
  160. }
  161. });
  162. }
  163. function get_first(a, b, c, d, e) {
  164. var str = '<tr>';
  165. if ((c - 2) < 0) {
  166. var ldays = 31;
  167. var lm = 12;
  168. var lb = b - 1;
  169. } else {
  170. var ldays = yl[c - 2];
  171. var lm = c - 1;
  172. var lb = b;
  173. }
  174. if (c == 12) {
  175. var xdays = 31;
  176. var xm = 1;
  177. var xb = b + 1;
  178. } else {
  179. var xdays = yl[c];
  180. var xm = c + 1;
  181. var xb = b;
  182. }
  183. if (ldays == 28) {
  184. if ((lb % 4 == 0 && lb % 100 != 0) || (lb % 100 == 0 && lb % 400 == 0)) {
  185. ldays = 29;
  186. }
  187. }
  188. if (xdays == 28) {
  189. if ((xb % 4 == 0 && xb % 100 != 0) || (xb % 100 == 0 && xb % 400 == 0)) {
  190. xdays = 29;
  191. }
  192. }
  193. var dd;
  194. if (yl[c - 1] == 28) {
  195. if ((b % 4 == 0 && b % 100 != 0) || (b % 100 == 0 && b % 400 == 0)) {
  196. dd = 29;
  197. } else {
  198. dd = 28;
  199. }
  200. } else {
  201. dd = yl[c - 1];
  202. }
  203. var num = 1;
  204. for (var i = a; i > 0; i--) {
  205. var bday = ldays - i + 1;
  206. var ly = LunarDate.GetLunarDayDetail(lb, lm, bday);
  207. //修改
  208. var jqs = getjqs(lb, lm, bday);
  209. var ss = '';
  210. if (jqs) {
  211. //ly加状态
  212. if (jqs.state == 1) {
  213. ss = 'active yellow';
  214. } else if (jqs.state == 2) {
  215. ss = 'active green';
  216. } else if (jqs.state == 3) {
  217. ss = 'active blue';
  218. }
  219. numI = '<font color="">' + numI;
  220. }
  221. var jd = "";
  222. var hb = lb + "-" + lm + "-" + bday;
  223. str += ' <td data_y="' + lb + '" data_m="' + lm + '" data_d="' + bday + '" class="list not_this js_up ' + ss +
  224. '"><i>' + bday + '</i>' + jd + '</td>';
  225. // str += ' <td data_y="' + lb + '" data_m="' + lm + '" data_d="' + bday + '" class="list not_this js_up"><i></i>' + jd + '</td>';
  226. if (num % 7 == 0) {
  227. str += '</tr><tr>';
  228. }
  229. num++;
  230. }
  231. // 动态写入日期
  232. for (var i = 1; i <= dd; i++) {
  233. var bday = ldays - i + 1;
  234. var ly = LunarDate.GetLunarDayDetail(b, c, i);
  235. var numI = i
  236. var jqs = getjqs(b, c, i);
  237. //console.log(jqs)
  238. //修改
  239. var ss = '';
  240. if (jqs) {
  241. //ly加状态
  242. if (jqs.state == 1) {
  243. // console.log(b, c, i)
  244. ss = 'active yellow';
  245. } else if (jqs.state == 2) {
  246. ss = 'active green';
  247. } else if (jqs.state == 3) {
  248. ss = 'active blue';
  249. }
  250. numI = '<font color="">' + numI;
  251. }
  252. var jd = "";
  253. var hb = b + "-" + c + "-" + i;
  254. if (new Date().getDate() == i && b == new Date().getFullYear() && c == (new Date().getMonth() + 1)) {
  255. str += ' <td data_y="' + b + '" data_m="' + c + '" data_d="' + i + '" class="list today ' + ss +
  256. '"><i>' + numI + '</i>' + jd + '</td>';
  257. // console.log(numI)
  258. } else {
  259. str += ' <td data_y="' + b + '" data_m="' + c + '" data_d="' + i + '" class="list ' + ss + '"><i>' +
  260. numI + '</i>' + jd + '</td>';
  261. //console.log(jd)
  262. }
  263. if (num % 7 == 0) {
  264. str += '</tr><tr>';
  265. }
  266. num++;
  267. }
  268. //插入季节
  269. var last = 42 - a - dd;
  270. if (last <= 6) {
  271. for (var i = 1; i <= last; i++) {
  272. var ly = LunarDate.GetLunarDayDetail(xb, xm, i);
  273. var jd = "";
  274. var hb = xb + "-" + xm + "-" + i;
  275. str += ' <td data_y="' + xb + '" data_m="' + xm + '" data_d="' + i +
  276. '" class="list not_this js_down"><i>' + i + '</i>' + jd + '</td>';
  277. if (num % 7 == 0) {
  278. str += '</tr><tr>';
  279. }
  280. num++;
  281. }
  282. }
  283. if (str.substring(str.length - 4, str.length) == "<tr>") {
  284. str = str.substring(0, str.length - 4);
  285. }
  286. // console.log(document.getElementById(e))
  287. document.getElementById(e).innerHTML = str;
  288. bind_click(e);
  289. }
  290. function bind_click(a) {
  291. // console.log(a)
  292. $("#" + a).find("td").unbind("click");
  293. $("#" + a).find("td").each(function () {
  294. if ($(this).hasClass('not_this')) {
  295. $(this).click(function () {
  296. jump($(this).attr('data_y'), $(this).attr('data_m'), $(this).attr('data_d'));
  297. });
  298. } else {
  299. $(this).click(function () {
  300. set_top($(this));
  301. });
  302. }
  303. });
  304. }
  305. function set_top(a) {
  306. if (!a) {
  307. var weeks = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'];
  308. var data = new Date();
  309. var weekk = weeks[data.getDay() - 1];
  310. var yue = LunarDate.GetLunarDay(data.getFullYear(), data.getMonth() + 1, data.getDate());
  311. var shu = data.getDate();
  312. document.getElementById("top_shu").innerHTML = shu;
  313. sev_d = parseInt(shu);
  314. document.getElementById("top_week").innerHTML = weekk;
  315. document.getElementById("top_yue").innerHTML = yue;
  316. } else {
  317. var weeks = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
  318. var y = a.attr("data_y");
  319. var m = parseInt(a.attr("data_m")) - 1;
  320. if (m < 0) m = 11;
  321. var d = parseInt(a.attr("data_d"));
  322. var weekk = weeks[new Date(y, m, d).getDay()];
  323. var ms = parseInt(a.attr("data_m"));
  324. var yue = LunarDate.GetLunarDay(y, ms, d);
  325. document.getElementById("top_shu").innerHTML = d;
  326. sev_d = parseInt(d);
  327. document.getElementById("top_week").innerHTML = weekk;
  328. document.getElementById("top_yue").innerHTML = yue;
  329. $(".xuanzhong").removeClass('xuanzhong');
  330. a.addClass("xuanzhong");
  331. }
  332. // console.log(d,weekk,yue)
  333. }
  334. $('.date').on('click', function () {
  335. $('.tc').show();
  336. $('.tc-innner').show();
  337. tc();
  338. });
  339. var e = 1;
  340. function tc() {
  341. var b, c, d;
  342. var myDate = new Date();
  343. if (e == 0) {
  344. b = myDate.getFullYear() - 2000;
  345. c = myDate.getMonth();
  346. d = myDate.getDate() - 1;
  347. } else {
  348. b = sev_y - 2000;
  349. c = sev_m - 1;
  350. d = sev_d - 1;
  351. }
  352. e = 1;
  353. var mySwiper = new Swiper('.swiper-container2', {
  354. direction: 'vertical',
  355. initialSlide: b,
  356. slidesPerView: 'auto',
  357. roundLengths: true,
  358. centeredSlides: true,
  359. watchSlidesProgress: true,
  360. watchSlidesVisibility: true,
  361. freeMode: true,
  362. freeModeMomentumRatio: 1,
  363. freeModeSticky: true,
  364. onTouchMove: function (swiper) {
  365. var b1 = $('.year').children('.swiper-slide-active').html();
  366. $('.i-year').html(b1);
  367. },
  368. onSlideChangeEnd: function (swiper) {
  369. var b1 = $('.year').children('.swiper-slide-active').html();
  370. $('.i-year').html(b1);
  371. },
  372. });
  373. var mySwiper = new Swiper('.swiper-container3', {
  374. direction: 'vertical',
  375. initialSlide: c,
  376. slidesPerView: 'auto',
  377. roundLengths: true,
  378. centeredSlides: true,
  379. watchSlidesProgress: true,
  380. watchSlidesVisibility: true,
  381. freeMode: true,
  382. freeModeMomentumRatio: 1,
  383. freeModeSticky: true,
  384. onTouchMove: function (swiper) {
  385. var b1 = $('.month').children('.swiper-slide-active').html();
  386. $('.i-month').html(b1);
  387. },
  388. onSlideChangeEnd: function (swiper) {
  389. var b1 = $('.month').children('.swiper-slide-active').html();
  390. $('.i-month').html(b1);
  391. },
  392. });
  393. var mySwiper = new Swiper('.swiper-container4', {
  394. direction: 'vertical',
  395. initialSlide: d,
  396. slidesPerView: 'auto',
  397. roundLengths: true,
  398. centeredSlides: true,
  399. watchSlidesProgress: true,
  400. watchSlidesVisibility: true,
  401. freeMode: true,
  402. freeModeMomentumRatio: 1,
  403. freeModeSticky: true,
  404. onTouchMove: function (swiper) {
  405. var b1 = $('.date').children('.swiper-slide-active').html();
  406. $('.i-date').html(b1);
  407. },
  408. onSlideChangeEnd: function (swiper) {
  409. var b1 = $('.date').children('.swiper-slide-active').html();
  410. $('.i-date').html(b1);
  411. },
  412. });
  413. };
  414. $('.tc-bot-left').click(function () {
  415. e = 0;
  416. tc();
  417. });
  418. $('.tc-bot-right').click(function () {
  419. $('.tc').hide();
  420. $('.tc-innner').hide();
  421. var yyyy = parseInt($('.year').children('.swiper-slide-active').html());
  422. var mm = parseInt($('.month').children('.swiper-slide-active').html());
  423. var dd = parseInt($('.date').children('.swiper-slide-active').html());
  424. if (mm != sev_m || yyyy != sev_y || dd != sev_d) {
  425. jump(yyyy, mm, dd);
  426. };
  427. });
  428. $(".tc").on("click", function () {
  429. $(".tc-innner").hide();
  430. $(this).hide();
  431. });
  432. //判断时间
  433. function getjqs(yyyy, mm, dd) {
  434. var solarTerms = "";
  435. $.each(dataK, function (i, n) {
  436. if (yyyy == n.y && mm == n.m && dd == n.d) {
  437. solarTerms = n;
  438. }
  439. })
  440. return solarTerms;
  441. }
  442. //日历初始化
  443. function calenderInit(LunarDate) {
  444. if (mySwiper) {
  445. mySwiper.destroy();
  446. $('#swiperBox').html(swiperHtml)
  447. }
  448. mySwiper = new Swiper('.swiper-container', {
  449. initialSlide: 1,
  450. loop: true,
  451. speed: 400,
  452. followFinger: false,
  453. prevButton: '.js_prev',
  454. nextButton: '.js_next',
  455. onSlideChangeStart: function (swiper) {
  456. //swiper.params.allowSwipeToPrev = false;
  457. swiper.lockSwipes();
  458. },
  459. onSlideChangeEnd: function (swiper) {
  460. var nows = $(".swiper-slide-active").find("table").attr("id");
  461. // console.log(active,nows);
  462. if (nows == 'now2')
  463. return;
  464. nows = parseInt(nows.substr(1, 1));
  465. if (nows == active)
  466. return;
  467. if (active == 4 && nows == 5) {
  468. var fors = 1;
  469. sev_m++;
  470. if (sev_m > 12) {
  471. sev_m = 1;
  472. sev_y++;
  473. }
  474. var nowweak = new Date(sev_y, sev_m - 1, 1).getDay();
  475. get_first(nowweak, sev_y, sev_m, 0, "d2");
  476. var lastm = sev_m - 1;
  477. var lasty = sev_y;
  478. if (lastm < 1) {
  479. lastm = 12;
  480. lasty--;
  481. }
  482. var nm = sev_m + 1;
  483. var ny = sev_y;
  484. if (nm > 12) {
  485. nm = 1;
  486. ny++;
  487. }
  488. var nowweak = new Date(ny, nm - 1, 1).getDay();
  489. var lastweek = new Date(lasty, lastm - 1, 1).getDay();
  490. get_first(lastweek, lasty, lastm, 0, "d" + fors);
  491. get_first(nowweak, ny, nm, 0, "d3");
  492. $("#ymym").html(sev_y + "年" + sev_m + "月");
  493. active = 5;
  494. } else if (active == 2 && nows == 1) {
  495. var fors = 5;
  496. var nextweak = new Date(sev_y, sev_m - 1, 1).getDay();
  497. get_first(nextweak, sev_y, sev_m, 0, "d" + fors);
  498. sev_m--;
  499. if (sev_m < 1) {
  500. sev_m = 12;
  501. sev_y--;
  502. }
  503. var nowweak = new Date(sev_y, sev_m - 1, 1).getDay();
  504. get_first(nowweak, sev_y, sev_m, 0, "d4");
  505. var nm = sev_m - 1;
  506. var ny = sev_y;
  507. if (nm < 1) {
  508. nm = 12;
  509. ny--;
  510. }
  511. var nowweak = new Date(ny, nm - 1, 1).getDay();
  512. //get_first(nowweak, ny, nm, 0, "d4");
  513. get_first(nowweak, ny, nm, 0, "d3");
  514. $("#ymym").html(sev_y + "年" + sev_m + "月");
  515. active = 1;
  516. } else if (active == 5 && nows == 3) {
  517. var fors = 4;
  518. var lastm = sev_m;
  519. var lasty = sev_y;
  520. sev_m++;
  521. if (sev_m > 12) {
  522. sev_m = 1;
  523. sev_y++;
  524. }
  525. var nm = sev_m + 1;
  526. var ny = sev_y;
  527. if (nm > 12) {
  528. nm = 1;
  529. ny++;
  530. }
  531. var nowweak = new Date(ny, nm - 1, 1).getDay();
  532. get_first(nowweak, ny, nm, 0, "d" + fors);
  533. var nowweak = new Date(lasty, lastm - 1, 1).getDay();
  534. get_first(nowweak, lasty, lastm, 0, "d2");
  535. $("#ymym").html(sev_y + "年" + sev_m + "月");
  536. active = 3;
  537. } else if (active == 1 && nows == 3) {
  538. var fors = 2;
  539. var lastm = sev_m;
  540. var lasty = sev_y;
  541. sev_m--;
  542. if (sev_m < 1) {
  543. sev_m = 12;
  544. sev_y--;
  545. }
  546. var nm = sev_m - 1;
  547. var ny = sev_y;
  548. if (nm < 1) {
  549. nm = 12;
  550. ny--;
  551. }
  552. var nowweak = new Date(ny, nm - 1, 1).getDay();
  553. get_first(nowweak, ny, nm, 0, "d" + fors);
  554. var nowweak = new Date(lasty, lastm - 1, 1).getDay();
  555. get_first(nowweak, lasty, lastm, 0, "d4");
  556. $("#ymym").html(sev_y + "年" + sev_m + "月");
  557. active = 3;
  558. } else if (active == 1 && nows == 5) {
  559. var fors = 3;
  560. var lastm = sev_m;
  561. var lasty = sev_y;
  562. sev_m++;
  563. if (sev_m > 12) {
  564. sev_m = 1;
  565. sev_y++;
  566. }
  567. var nm = sev_m + 1;
  568. var ny = sev_y;
  569. if (nm > 12) {
  570. nm = 1;
  571. ny++;
  572. }
  573. var nowweak = new Date(ny, nm - 1, 1).getDay();
  574. get_first(nowweak, ny, nm, 0, "d" + fors);
  575. $("#ymym").html(sev_y + "年" + sev_m + "月");
  576. active = 5;
  577. } else if (active == 5 && nows == 1) {
  578. var fors = 3;
  579. sev_m--;
  580. if (sev_m < 1) {
  581. sev_m = 12;
  582. sev_y--;
  583. }
  584. var lastm = sev_m;
  585. var lasty = sev_y;
  586. var nm = sev_m - 1;
  587. var ny = sev_y;
  588. if (nm < 1) {
  589. nm = 12;
  590. ny--;
  591. }
  592. var nowweak = new Date(ny, nm - 1, 1).getDay();
  593. var lastweak = new Date(lasty, sev_m - 1, 1).getDay();
  594. get_first(nowweak, ny, nm, 0, "d" + fors);
  595. get_first(lastweak, lasty, sev_m, 0, "d4");
  596. $("#ymym").html(sev_y + "年" + sev_m + "月");
  597. active = 1;
  598. } else if (active > nows) {
  599. var fors = nows - 1;
  600. if (fors < 1)
  601. fors = 5;
  602. sev_m--;
  603. if (sev_m < 1) {
  604. sev_m = 12;
  605. sev_y--;
  606. }
  607. var nm = sev_m - 1;
  608. var ny = sev_y;
  609. if (nm < 1) {
  610. nm = 12;
  611. ny--;
  612. }
  613. var nowweak = new Date(ny, nm - 1, 1).getDay();
  614. get_first(nowweak, ny, nm, 0, "d" + fors);
  615. $("#ymym").html(sev_y + "年" + sev_m + "月");
  616. active = nows;
  617. } else if (active < nows) {
  618. var fors = nows + 1;
  619. if (fors > 5)
  620. fors = 1;
  621. sev_m++;
  622. if (sev_m > 12) {
  623. sev_m = 1;
  624. sev_y++;
  625. }
  626. var nm = sev_m + 1;
  627. var ny = sev_y;
  628. if (nm > 12) {
  629. nm = 1;
  630. ny++;
  631. }
  632. var nowweak = new Date(ny, nm - 1, 1).getDay();
  633. get_first(nowweak, ny, nm, 0, "d" + fors);
  634. $("#ymym").html(sev_y + "年" + sev_m + "月");
  635. active = nows;
  636. }
  637. var trLength = $("#d" + nows).find("tr").length;
  638. if (trLength == 6) {
  639. $(".swiper-container").css("paddingBottom", ".45rem");
  640. } else {
  641. $(".swiper-container").css("paddingBottom", "");
  642. }
  643. swiper.unlockSwipes();
  644. }
  645. })
  646. $("#now3").attr("id", "d1");
  647. $("#now1").attr("id", "d2");
  648. $("#now2").attr("id", "d3");
  649. $("#now3").attr("id", "d4");
  650. $("#now1").attr("id", "d5");
  651. var globledate = new Date();
  652. var y = globledate.getFullYear();
  653. var m = globledate.getMonth() + 1;
  654. var d = globledate.getDate();
  655. sev_m = m;
  656. sev_y = y;
  657. sev_d = d;
  658. var nowweak = new Date(y, m - 1, 1).getDay();
  659. if (nowweak == 7) nowweak = 0;
  660. get_first(nowweak, y, m, d, "d3");
  661. set_top(0);
  662. m = m + 1;
  663. if (m > 12) {
  664. m = 1;
  665. y += 1;
  666. }
  667. nowweak = new Date(y, m - 1, 1).getDay();
  668. get_first(nowweak, y, m, 0, "d4");
  669. m = sev_m - 1;
  670. if (m < 1) {
  671. m = 12;
  672. y = sev_y - 1;
  673. }
  674. nowweak = new Date(y, m - 1, 1).getDay();
  675. get_first(nowweak, y, m, 0, "d2");
  676. $("#ymym").html(sev_y + "年" + sev_m + "月");
  677. $(".js_jin").click(function () {
  678. active = 3;
  679. var globledate = new Date();
  680. var y = globledate.getFullYear();
  681. var m = globledate.getMonth() + 1;
  682. var d = globledate.getDate();
  683. sev_m = m;
  684. sev_y = y;
  685. sev_d = d;
  686. var nowweak = new Date(y, m - 1, 1).getDay();
  687. if (nowweak == 7) nowweak = 0;
  688. get_first(nowweak, y, m, d, "d3");
  689. set_top(0);
  690. m = m + 1;
  691. if (m > 12) {
  692. m = 1;
  693. y += 1;
  694. }
  695. nowweak = new Date(y, m - 1, 1).getDay();
  696. get_first(nowweak, y, m, 0, "d4");
  697. m = sev_m - 1;
  698. if (m < 1) {
  699. m = 12;
  700. y = sev_y - 1;
  701. }
  702. nowweak = new Date(y, m - 1, 1).getDay();
  703. get_first(nowweak, y, m, 0, "d2");
  704. $("#ymym").html(sev_y + "年" + sev_m + "月");
  705. mySwiper.slideTo(2, 500, false);
  706. });
  707. mySwiper.unlockSwipes();
  708. }