小程序模板網(wǎng)

微信小程序時間預(yù)約插件(包含日歷)

發(fā)布時間:2018-04-25 09:59 所屬欄目:小程序開發(fā)教程

因為項目需要,做了一個類似電商的時間預(yù)約功能,覺得有用,就獨立出來成了個小插件。

 

 

部分js代碼

 

				
  1. var that=this;
  2. function getThisMonthDays(year, month) {
  3. return new Date(year, month, 0).getDate();
  4. }
  5. // 計算每月第一天是星期幾
  6. function getFirstDayOfWeek(year, month) {
  7. return new Date(Date.UTC(year, month - 1, 1)).getDay();
  8. }
  9. const date = new Date();
  10. const cur_year = date.getFullYear();
  11. const cur_month = date.getMonth() + 1;
  12. const cur_date=date.getDate();
  13. const weeks_ch = ['日', '一', '二', '三', '四', '五', '六'];
  14. //利用構(gòu)造函數(shù)創(chuàng)建對象
  15. function calendar(date,week){
  16. this.date=cur_year+'-'+cur_month+'-'+date;
  17. if(date==cur_date){
  18. this.week = "今天";
  19. }else if(date==cur_date+1){
  20. this.week = "明天";
  21. }else{
  22. this.week = '星期' + week;
  23. }
  24. }
  25. //當(dāng)前月份的天數(shù)
  26. var monthLength= getThisMonthDays(cur_year, cur_month)
  27. //當(dāng)前月份的第一天是星期幾
  28. var week = getFirstDayOfWeek(cur_year, cur_month)
  29. var x = week;
  30. for(var i=1;i<=monthLength;i++){
  31. //當(dāng)循環(huán)完一周后,初始化再次循環(huán)
  32. if(x>6){
  33. x=0;
  34. }
  35. //利用構(gòu)造函數(shù)創(chuàng)建對象
  36. that.data.calendar[i] = new calendar(i, [weeks_ch[x]][0])
  37. x++;
  38. }
  39. //限制要渲染的日歷數(shù)據(jù)天數(shù)為7天以內(nèi)(用戶體驗)
  40. var flag = that.data.calendar.splice(cur_date, that.data.calendar.length - cur_date <= 7 ? that.data.calendar.length:7)
  41. that.setData({
  42. calendar: flag
  43. })
  44. //設(shè)置scroll-view的子容器的寬度
  45. that.setData({
  46. width: 186 * parseInt(that.data.calendar.length - cur_date <= 7 ? that.data.calendar.length : 7)
  47. })

源代碼地址https://github.com/Dorr2333/calendar-and-order.git



易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://22321a.com/wxmini/doc/course/24001.html 復(fù)制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢:800182392 點擊咨詢
QQ在線咨詢