国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 小程序 > 正文

微信小程序實現時間預約功能

2020-03-21 16:06:13
字體:
來源:轉載
供稿:網友

一個類似電商的時間預約功能,供大家參考,具體內容如下

1 .概述

我們在學習微信小程序或者做項目時,應該會遇到需要時間預約功能情況,那么這個時間預約功能我們應該怎么編寫呢?于是就做了一個類似電商的時間預約功能,覺得有用,就獨立出來成了個小插件,今天我們就分享這樣的小教程。希望對大家有所幫助。

不多說了,上圖來啦!

微信小程序,時間預約

2. wxml

<!--pages/orderTime/index.wxml--><view class='containt'> <scroll-view class="scroll-view_H" scroll-x>  <view class='list' style='width:{{ width }}rpx'>   <view bindtap="select" wx:for="{{ calendar }}" wx:for-item="item" wx:for-index="index" data-index="{{ index }}" class='listItem {{index==currentIndex? "current":""}}' wx:key='' data-date="{{ item.date}}">    <text class='name'>{{ item.week }}</text>    <text class='date'>{{ item.date }}</text>   </view>  </view> </scroll-view> <view class='time'>  <view wx:for="{{ timeArr }}" wx:for-item="timeItem" wx:for-index="timeIndex" data-Tindex="{{ timeIndex }}" data-time="{{ timeItem.time}}" bindtap='selectTime' class='listItem {{ currentTime==timeIndex? "current":"" }}' wx:key=''>   <text>{{ timeItem.time }}</text>   <text>{{ timeItem.status }}</text>  </view> </view> <view class='operate'>  <button class='del'>刪除</button>  <button class='save'>保存</button> </view></view>

3 . js

// pages/orderTime/index.jsPage({ /**  * 頁面的初始數據  */ data: {  calendar:[],  width:0,  currentIndex:0,  currentTime: 0,  timeArr: [      { "time": "8:00-10:00", "status": "約滿" },       { "time": "8:00-10:00", "status": "約滿" },       { "time": "8:00-10:00", "status": "約滿" },       { "time": "8:00-10:00", "status": "約滿" },       { "time": "8:00-10:00", "status": "約滿" },       { "time": "8:00-10:00", "status": "約滿" },       { "time": "8:00-10:00", "status": "約滿" },       { "time": "8:00-10:00", "status": "約滿" },       { "time": "8:00-10:00", "status": "約滿" },      { "time": "8:00-10:00", "status": "約滿" },       { "time": "8:00-10:00", "status": "約滿" },       { "time": "8:00-10:00", "status": "約滿" },       { "time": "8:00-22:00", "status": "約滿" }      ]   }, /**  * 生命周期函數--監聽頁面加載  */ onLoad: function (options) {  var that=this;  function getThisMonthDays(year, month) {   return new Date(year, month, 0).getDate();  } // 計算每月第一天是星期幾  function getFirstDayOfWeek(year, month) {   return new Date(Date.UTC(year, month - 1, 1)).getDay();  }  const date = new Date();  const cur_year = date.getFullYear();  const cur_month = date.getMonth() + 1;  const cur_date=date.getDate();  const weeks_ch = ['日', '一', '二', '三', '四', '五', '六'];  //利用構造函數創建對象  function calendar(date,week){   this.date=cur_year+'-'+cur_month+'-'+date;   if(date==cur_date){    this.week = "今天";   }else if(date==cur_date+1){    this.week = "明天";   }else{    this.week = '星期' + week;   }  }  //當前月份的天數  var monthLength= getThisMonthDays(cur_year, cur_month)  //當前月份的第一天是星期幾  var week = getFirstDayOfWeek(cur_year, cur_month)  var x = week;  for(var i=1;i<=monthLength;i++){   //當循環完一周后,初始化再次循環   if(x>6){    x=0;   }   //利用構造函數創建對象   that.data.calendar[i] = new calendar(i, [weeks_ch[x]][0])   x++;  }  //限制要渲染的日歷數據天數為7天以內(用戶體驗)  var flag = that.data.calendar.splice(cur_date, that.data.calendar.length - cur_date <= 7 ? that.data.calendar.length:7)  that.setData({   calendar: flag  })  //設置scroll-view的子容器的寬度  that.setData({   width: 186 * parseInt(that.data.calendar.length - cur_date <= 7 ? that.data.calendar.length : 7)  }) }, /**  * 生命周期函數--監聽頁面初次渲染完成  */ onReady: function () { }, /**  * 生命周期函數--監聽頁面顯示  */ onShow: function () { }, /**  * 生命周期函數--監聽頁面隱藏  */ onHide: function () { }, /**  * 生命周期函數--監聽頁面卸載  */ onUnload: function () { }, /**  * 頁面相關事件處理函數--監聽用戶下拉動作  */ onPullDownRefresh: function () { }, /**  * 頁面上拉觸底事件的處理函數  */ onReachBottom: function () { }, /**  * 用戶點擊右上角分享  */ onShareAppMessage: function () { }, select:function(event){  //為上半部分的點擊事件  this.setData({   currentIndex: event.currentTarget.dataset.index  })  console.log(event.currentTarget.dataset.date) }, selectTime:function(event){  //為下半部分的點擊事件  this.setData({   currentTime: event.currentTarget.dataset.tindex  })   console.log(event.currentTarget.dataset.time) }})

4. css

/* pages/orderTime/index.wxss */scroll-view{ height: 128rpx; width: 100%;}scroll-view .list{ display: flex; flex-wrap: nowrap; justify-content: flex-start;  width: 1302rpx; }scroll-view .listItem{ text-align: center; width: 186rpx; height: 128rpx; background-color: #f1f2f6; padding-top: 30rpx; box-sizing: border-box; /* float: left; */ display: inline-block;}scroll-view .listItem text{ display: block;}scroll-view .listItem .name{ font-size: 30rpx;}scroll-view .listItem .date{ font-size: 30rpx;}scroll-view .current{ background-color: #76aef8;}scroll-view .current text{ color: #fff;}.time{ width: 95%; display: flex; flex-wrap: wrap; justify-content: flex-start; margin: 0 auto; margin-top: 30rpx;}.time .listItem{ width: 25%; height: 135rpx; text-align: center; box-sizing: border-box; background-color: #fff; padding-top: 35rpx; border: 1px solid #b9c1c8;}.time .listItem text{ display: block; font-size: 30rpx;}.time .current{ border: 1px solid #76aef8;}.time .current text{ color: #76aef8;}.operate button{ width:300rpx; height: 88rpx; background-color: #fff;}.operate .del{  color: #e54449; }.operate button::after{ border: 2px solid #e54449;}.operate{ display: flex; flex-wrap: nowrap; justify-content: space-around;}.operate button:nth-child(2):after{ border: 2px solid #e54449;}.operate .save{ color: #fff; background-color: #e54449; }.operate{ width: 100%; padding: 30rpx 0; background-color: #fff; position: fixed; bottom: 0;}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 敦煌市| 康马县| 河北省| 沐川县| 盐山县| 棋牌| 兴化市| 论坛| 海城市| 新巴尔虎右旗| 民权县| 宜兴市| 绥中县| 壤塘县| 田东县| 新津县| 芜湖市| 四川省| 灯塔市| 义马市| 舒城县| 独山县| 连南| 横山县| 通化市| 仁寿县| 平凉市| 平陆县| 磐安县| 洞头县| 延吉市| 太和县| 鲁山县| 太仓市| 波密县| 依兰县| 承德县| 南安市| 井陉县| 娱乐| 娱乐|