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

首頁 > 編程 > JavaScript > 正文

微信小程序日歷彈窗選擇器代碼實例

2019-11-19 11:36:50
字體:
來源:轉載
供稿:網友

應公司需求,寫了一個彈窗日歷選擇器,感覺用著還不錯,封裝了一下,分享給大家,希望大家有什么意見可以指出來相互交流共同改進!

先上一個效果圖:(當天日期為2018-4-18)

時間改為5月份的效果圖:

直接上代碼:

wxml:

<view class="weui-cells weui-cells_after-title" style='margin-top:100rpx;'> <view class="weui-cell weui-cell_access" hover-class="weui-cell_active" catchtap='showModalBtn'>  <view class="weui-cell__bd">選擇時間</view>  <view class="weui-cell__ft weui-cell__ft_in-access">{{chooseDate}}</view> </view></view> <view class="modal-mask" bindtap="hideModal" catchtouchmove="preventTouchMove" hidden="{{showModal}}"></view><view class="modal-dialog" hidden="{{showModal}}"> <view class='modalBox'>  <view class='box'>   <view class='calendarBox'>    <view class='calendarTitle'>     當前月份:     <text style='font-size:46rpx;'>{{thisMonth}}</text> 月    </view>    <block wx:for="{{week}}" wx:key="item">     <view class="week">{{week[index]}}</view>    </block>    <block wx:for="{{weekNum}}" wx:key="item">     <view class="week" style="border-bottom:0;color:transparent">0</view>    </block>    <block wx:for="{{dayList}}" wx:key="item">     <view class='week' style="border-bottom:0;background-color:{{dayIndex>index?'#f1f1f1':(tapThis==index?'#1296db':'')}};color:{{tapThis==index?'white':''}}" catchtap="chooseDate" data-index="{{index}}" data-value="{{item}}">{{item}}</view>    </block>   </view>  </view> </view></view>

wxss:

.modalBox{ width: 100%; font-size: 32rpx;}.box{ margin: 0 auto; width: 630rpx;}.calendarTitle{ /* margin: 0 auto; width: 630rpx; */ width: 100%; height: 80rpx; line-height: 80rpx; text-align: center; border-bottom: 1rpx solid #ddd;}.calendarBox{ /* width: 630rpx; */ width:100%; margin: 0 auto; border:1rpx solid #ddd;}.week{ display: inline-block; width:90rpx; height: 80rpx; text-align: center; line-height: 80rpx; border-bottom: 1rpx solid #ddd;}.dateBtn{ width:100%; height: 80rpx; display: flex; justify-content: space-between; margin-top: 20rpx; } .dateBtn>button{ width: 45%; height: 100%; display:flex; justify-content: center; align-items: center; margin: 0; font-size: 36rpx;} /* 模態框 */  .modal-mask {  width: 100%;  height: 100%;  position: fixed;  top: 0;  left: 0;  background: #000;  opacity: 0.5;  overflow: hidden;  z-index: 9000; }  .modal-dialog {  width: 85%;  padding: 100rpx 30rpx 30rpx 30rpx;  overflow: hidden;  position: fixed;  top: 20%;  left: 0;  right: 0;  margin: 0 auto;  z-index: 9999;  background: rgba(255, 255, 255, 1);  border-radius: 5rpx; } 

js:

Page({  /**  * 頁面的初始數據  */ data: {  showModal:true,  weekLength:7,  week:["日","一","二","三","四","五","六"],  dayList:[],  weekNum:0,  tapThis:0,  thisMonth:0,  thisYear:0,  dayIndex:0,  chooseDate:"", }, getWeek(year,month,day){  var that = this;  var d = new Date();  d.setFullYear(year);  d.setMonth(month-1);  d.setDate(1);  var n = d.getDay();  var arr =[];  var Index=0;  var dayN=1;  for(var i = 0; i<day; i++){   arr.push(dayN++);  }  var now = new Date();  var nowYear = now.getFullYear();  var nowMonth = now.getMonth()+1;  var nowDay = now.getDate();  var val = 1;  if(year==nowYear){   if(month==nowMonth){     Index=arr.indexOf(nowDay);     console.log(Index);     val = nowDay;   }  }  that.setData({   weekNum:n,   dayList:arr,   dayIndex:Index,   tapThis:Index,   thisMonth:month,   thisYear:year,   chooseDate:year+"-"+month+"-"+val,  }) }, chooseDate(e){  var that = this;   var n = e.currentTarget.dataset.index;   var val = e.currentTarget.dataset.value;   console.log(n);   if(n>=that.data.dayIndex){    that.setData({     tapThis:n,     chooseDate:that.data.thisYear+"-"+that.data.thisMonth+"-"+val,     showModal:true,    })   } }, /**  * 彈出框蒙層截斷touchmove事件  */ preventTouchMove: function () { }, /**   * 隱藏模態對話框   */ hideModal() {  var that = this;  that.setData({   showModal: true,  }) },  showModalBtn(){  var that = this;  that.setData({   showModal:false  }) },  /**  * 生命周期函數--監聽頁面加載  */ onLoad: function (e) {  var that = this;  that.getWeek("2018","04","31"); //使用方法: 在此函數內傳入年、月、日(此月的天數)即可。 }})

代碼設計思路:

1、此代碼是符合我們公司實際情況定制的,選擇哪個月份,需要傳遞哪個月份的參數,比如我要2018-04的日歷選擇器,那么我需要在 getWeek() 中傳遞年,月,日(此月的總天數)作為參數,代碼會自動計算出當月的一號是星期幾并且排版好!

如果不知道此月的天數 ,這里還提供如下代碼方便各位碼友計算出各個月份的天數

getDayNum(year,month){ //傳入參數年份 和 要計算的月份, 可以為字符串,也可以為數字。  var that = this;  var d = new Date();  d.setFullYear(year);  d.setMonth(month);  d.setDate(0);  console.log(d.getDate()); //d.getDate() 即為此月的總天數! },

2、具體思路就是:根據傳遞的參數計算出當月的第一天為星期幾,然后從星期幾開始排列,通過循環{{總天數}}次,讓日期循環出來。然后再獲取當前日期,判斷日歷彈窗與當前月份是否吻合,如果吻合,就要將在當前日期之前的日期都設置為不可點擊狀態。然后就是點擊獲取值,整個日歷流程完畢。

以上所述是小編給大家介紹的微信小程序日歷彈窗選擇器詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕日韩精品在线观看| 国产精品第100页| 欧美一级免费视频| 久久色在线播放| 国产精品视频成人| 久热99视频在线观看| 久久全球大尺度高清视频| 国产日韩欧美在线播放| 欧美日韩免费一区| 欧美大片在线影院| 成人黄色片在线| 欧洲永久精品大片ww免费漫画| 欧美激情在线播放| 一区二区三区国产在线观看| 国产精品1区2区在线观看| 日韩大胆人体377p| 国产精品久久电影观看| 丝袜美腿精品国产二区| 狠狠色狠色综合曰曰| 日韩av免费在线播放| 久久国产精品久久久久| 成人a视频在线观看| 亚洲国产另类久久精品| 欧美激情视频在线| 亚洲另类xxxx| 日韩欧美a级成人黄色| 国产69精品久久久久9999| 成人国内精品久久久久一区| 亚洲成人1234| 国产精品久久久久7777婷婷| 91在线观看免费高清| 国产一区二区丝袜高跟鞋图片| 久久久噜久噜久久综合| 高清欧美一区二区三区| 国产视频久久久久久久| 亚洲精品天天看| 久久精品国产一区二区电影| 国产亚洲在线播放| 国产精品69久久| 亚洲欧洲国产伦综合| 精品久久久久人成| 欧美国产在线视频| 午夜精品一区二区三区在线视| 欧美精品久久久久久久久| 国产日韩欧美中文在线播放| 中文字幕av一区二区三区谷原希美| 亚洲资源在线看| 日韩人在线观看| 欧美极品在线播放| 欧日韩在线观看| 欧美日韩aaaa| 久久久亚洲国产天美传媒修理工| 北条麻妃一区二区三区中文字幕| 国产欧美精品一区二区三区-老狼| 亚洲色图35p| 7777精品久久久久久| 亚洲人成绝费网站色www| 91亚洲永久免费精品| 日韩中文字幕视频在线| 久久久久久国产免费| 欧美日韩国产一区中文午夜| 国产日韩av高清| 亚洲欧美激情另类校园| 亚洲欧美成人精品| 日韩资源在线观看| 成人黄色激情网| 中日韩美女免费视频网站在线观看| 久久成人18免费网站| 青青a在线精品免费观看| 国产丝袜精品视频| 欧美日韩亚洲网| 亚洲国产成人精品久久久国产成人一区| 91精品久久久久久综合乱菊| 国产精品久久久久久久av电影| 亚洲国产天堂久久综合| 欧美在线免费视频| 欧美一级片久久久久久久| 欧美富婆性猛交| 国产精品久久久亚洲| 亚洲在线免费看| 精品国产电影一区| 高清欧美性猛交xxxx| 国产精品扒开腿爽爽爽视频| 日韩精品在线看| 久久精品国产91精品亚洲| 亚洲午夜国产成人av电影男同| 亚洲男人天堂手机在线| 一色桃子一区二区| 久久久久久国产免费| 国内精品久久久久久中文字幕| 亚洲精品乱码久久久久久金桔影视| 日韩欧美国产黄色| 97精品一区二区三区| 日韩亚洲国产中文字幕| 麻豆精品精华液| 欧美性猛交xxxx久久久| 亚洲精品电影网在线观看| 精品自在线视频| 91中文在线观看| 亚洲免费视频网站| 国产精品欧美日韩久久| 亚洲高清久久网| 91精品国产91久久久久久吃药| 热re91久久精品国99热蜜臀| 亚洲精品欧美日韩| 97国产精品人人爽人人做| 亚洲偷熟乱区亚洲香蕉av| 欧洲亚洲在线视频| 丝袜情趣国产精品| 2018中文字幕一区二区三区| 国产亚洲成精品久久| 国产精品极品尤物在线观看| 国产一区二区三区视频免费| 一区二区三区视频免费| 日韩av理论片| 国产精品羞羞答答| 热99精品里视频精品| 久久精品亚洲精品| 国产在线久久久| 日韩精品在线免费观看视频| 中日韩美女免费视频网址在线观看| 国产日韩换脸av一区在线观看| 色悠悠久久88| 国产99久久精品一区二区永久免费| 欧洲日本亚洲国产区| 在线成人免费网站| 久久精品久久精品亚洲人| 欧美成人一区在线| 欧美人与性动交a欧美精品| 久久免费视频网站| 一本一本久久a久久精品牛牛影视| 亚洲成人国产精品| www.日韩av.com| 奇米4444一区二区三区| 国产欧美一区二区三区久久人妖| 国产精品久久久久久久久久新婚| 欧美裸体xxxx极品少妇| 日韩在线免费视频观看| 久久久亚洲精选| 国产精品久久久久久久久久尿| 8x海外华人永久免费日韩内陆视频| 国产欧美中文字幕| 91成人精品网站| 亚洲欧美一区二区精品久久久| 欧美另类极品videosbest最新版本| 久久不射电影网| 亚洲人成网站色ww在线| 欧美成人午夜激情在线| 亚洲aⅴ日韩av电影在线观看| 欧美国产欧美亚洲国产日韩mv天天看完整| 91久久中文字幕| 欧美一区二区大胆人体摄影专业网站| 国产精品一区久久| 亚洲色图欧美制服丝袜另类第一页| 欧美精品久久久久久久久久| 国产精品高潮呻吟久久av野狼| 国产视频久久久| 日韩精品在线观看网站| 国产精品视频最多的网站| 欧美激情精品久久久久久变态| 亚洲精选中文字幕| 色综合视频一区中文字幕| 日韩av在线网址| 国产精品jvid在线观看蜜臀|