最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

小程序?qū)崿F(xiàn)帶年月選取效果的日歷

 更新時間:2018年06月27日 15:23:27   作者:會飛的尛海豚  
這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)帶年月選取效果的日歷,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了小程序日歷展示的具體代碼,供大家參考,具體內(nèi)容如下

根據(jù)前面的日歷,又遇到到個好玩的日歷需求,分享給大家

 

這是個帶年月左右選取的日歷展示!并且當(dāng)天的對應(yīng)日會被高亮顯示!下面看下實現(xiàn)代碼!

1.wxml代碼結(jié)構(gòu)

<view class='wrap'> 
  <view> 
    <view class='date-show'> 
      <view class='lt-arrow' bindtap='lastMonth'> 
        <image src='../images/nextMonth.png' mode='aspectFit'></image> 
      </view> 
      {{year}}年{{month}}月 
      <view class='rt-arrow' bindtap='nextMonth'> 
        <image src='../images/nextMonth.png' mode='aspectFit'></image> 
      </view> 
    </view> 
  </view> 
  <view class='header'> 
    <view wx:for='{{date}}' class='{{(index == todayIndex) && isTodayWeek ? "weekMark" : ""}}'>{{item}}<view></view></view> 
  </view> 
  <view class='date-box'> 
    <view wx:for='{{dateArr}}' class='{{isToday == item.isToday ? "nowDay" : ""}}' data-date='{{item.isToday}}'>      
      <view class='date-head'> 
        <view>{{item.dateNum}}</view> 
      </view> 
      <view class='date-weight'>{{item.weight}}</view> 
    </view> 
  </view> 
</view> 

2.wxss代碼結(jié)構(gòu)

.date-show{ 
  position: relative; 
  width: 250rpx; 
  font-family: PingFang-SC-Regular; 
  font-size: 40rpx; 
  color: #282828; 
  text-align: center; 
  margin: 59rpx auto 10rpx; 
} 
.lt-arrow,.rt-arrow{ 
  position: absolute; 
  top: 1rpx; 
  width: 60rpx; 
  height: 60rpx; 
} 
.lt-arrow image,.rt-arrow image{ 
  width: 14rpx; 
  height: 26rpx; 
} 
.lt-arrow{ 
  left: -110rpx; 
  transform: rotate(180deg); 
} 
.rt-arrow{ 
  right: -100rpx; 
} 
.header{ 
  font-size: 0; 
  padding: 0 24rpx; 
} 
.header>view{ 
  display: inline-block; 
  width: 14.285%; 
  color: #333; 
  font-size: 30rpx; 
  text-align: center; 
  border-bottom: 1px solid #D0D0D0; 
  padding: 39rpx 0; 
} 
.weekMark{ 
  position: relative; 
} 
.weekMark view{ 
  position: absolute; 
  bottom: 0; 
  left: 0; 
  width: 100%; 
  border-bottom: 1px solid #22A7F6; 
} 
.date-box{ 
  font-size: 0; 
  padding: 10rpx 0; 
} 
.date-box>view{ 
  position: relative; 
  display: inline-block; 
  width: 14.285%; 
  color: #020202; 
  font-size: 40rpx; 
  text-align: center; 
  vertical-align: middle; 
  margin: 15rpx 0; 
} 
.date-head{ 
  height: 60rpx; 
  line-height: 60rpx; 
  font-size: 26rpx; 
} 
.nowDay .date-head{ 
  width: 60rpx; 
  border-radius: 50%; 
  text-align: center; 
  color: #fff; 
  background-color: #22A7F6; 
  margin: 0 auto; 
} 
.date-weight{ 
  font-size: 22rpx; 
  padding: 15rpx 0; 
} 
.nowDay .date-weight{ 
  color: #22A7F6; 
} 
.one{ 
  position: absolute; 
  bottom: 0; 
  right: 5rpx; 
  width: 20rpx; 
  height: 20rpx; 
  border-radius: 50%; 
  background-color: red; 
} 
.two{ 
  position: absolute; 
  bottom: 30rpx; 
  right: 5rpx; 
  width: 20rpx; 
  height: 20rpx; 
  border-radius: 50%; 
  background-color: blue; 
} 

index.js 

//index.js 
//獲取應(yīng)用實例 
const app = getApp() 
 
Page({ 
 data: { 
    year: 0, 
    month: 0, 
    date: ['日', '一', '二', '三', '四', '五', '六'], 
    dateArr: [], 
    isToday: 0, 
    isTodayWeek: false, 
    todayIndex: 0 
  }, 
 onLoad: function () { 
    let now = new Date(); 
    let year = now.getFullYear(); 
    let month = now.getMonth() + 1; 
    this.dateInit(); 
    this.setData({ 
      year: year, 
      month: month, 
      isToday: '' + year + month + now.getDate() 
    }) 
 }, 
 dateInit: function(setYear,setMonth){ 
    //全部時間的月份都是按0~11基準(zhǔn),顯示月份才+1 
    let dateArr = [];            //需要遍歷的日歷數(shù)組數(shù)據(jù) 
    let arrLen = 0;             //dateArr的數(shù)組長度 
    let now = setYear ? new Date(setYear,setMonth) : new Date(); 
    let year = setYear || now.getFullYear(); 
    let nextYear = 0; 
    let month = setMonth || now.getMonth();         //沒有+1方便后面計算當(dāng)月總天數(shù) 
    let nextMonth = (month + 1) > 11 ? 1 : (month + 1);    
    let startWeek = new Date( year+','+(month + 1)+','+1).getDay();             //目標(biāo)月1號對應(yīng)的星期 
    let dayNums = new Date(year,nextMonth,0).getDate();       //獲取目標(biāo)月有多少天 
    let obj = {};     
    let num = 0; 
     
    if(month + 1 > 11){ 
      nextYear = year + 1; 
      dayNums = new Date(nextYear,nextMonth,0).getDate(); 
    } 
    arrLen = startWeek + dayNums; 
    for(let i = 0; i < arrLen; i++){ 
      if(i >= startWeek){ 
        num = i - startWeek + 1; 
        obj = { 
          isToday: '' + year + (month + 1) + num, 
          dateNum: num, 
          weight: 5 
        } 
      }else{ 
        obj = {}; 
      } 
      dateArr[i] = obj; 
    } 
    this.setData({ 
      dateArr: dateArr 
    }) 
 
    let nowDate = new Date(); 
    let nowYear = nowDate.getFullYear(); 
    let nowMonth = nowDate.getMonth() + 1; 
    let nowWeek = nowDate.getDay(); 
    let getYear = setYear || nowYear; 
    let getMonth = setMonth >= 0 ? (setMonth + 1) : nowMonth; 
 
    if (nowYear == getYear && nowMonth == getMonth){ 
      this.setData({ 
        isTodayWeek: true, 
        todayIndex: nowWeek 
      }) 
    }else{ 
      this.setData({ 
        isTodayWeek: false, 
        todayIndex: -1 
      }) 
    } 
  }, 
  lastMonth: function(){ 
    //全部時間的月份都是按0~11基準(zhǔn),顯示月份才+1 
    let year = this.data.month - 2 < 0 ? this.data.year - 1 : this.data.year; 
    let month = this.data.month - 2 < 0 ? 11 : this.data.month - 2; 
    this.setData({ 
      year: year, 
      month: (month + 1) 
    }) 
    this.dateInit(year,month); 
  }, 
  nextMonth: function(){ 
    //全部時間的月份都是按0~11基準(zhǔn),顯示月份才+1 
    let year = this.data.month > 11 ? this.data.year + 1 : this.data.year; 
    let month = this.data.month > 11 ? 0 : this.data.month; 
    this.setData({ 
      year: year, 
      month: (month + 1) 
    }) 
    this.dateInit(year, month); 
  } 
}) 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JavaScript滿天星導(dǎo)航欄實現(xiàn)方法

    JavaScript滿天星導(dǎo)航欄實現(xiàn)方法

    本篇文章給大家分享了JavaScript滿天星導(dǎo)航欄實現(xiàn)方法,以前也介紹過很多關(guān)于特效導(dǎo)航的制作方法,對此有興趣的朋友參考學(xué)習(xí)下。
    2018-03-03
  • JS禁止查看網(wǎng)頁源代碼的實現(xiàn)方法

    JS禁止查看網(wǎng)頁源代碼的實現(xiàn)方法

    本文給大家介紹js如何禁止查看網(wǎng)頁源代碼,并給大家分享了三種查看路徑的方法,本文給大家介紹的非常詳細(xì),具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-10-10
  • 全面解析JavaScript 中 null

    全面解析JavaScript 中 null

    null 是一種原始類型,表示有意不包含任何對象值,在這篇文章中,你將學(xué)習(xí)關(guān)于 JavaScript 中的 null 的一切: 它的含義,如何檢測它,null 和 undefined 之間的區(qū)別,以及為什么大量使用 null 會造成代碼維護(hù)困難等,需要的朋友可以參考下
    2022-09-09
  • js圖片輪播插件的封裝

    js圖片輪播插件的封裝

    這篇文章主要為大家詳細(xì)介紹了js圖片輪播插件的封裝代碼,只需要獲取到圖片和按鈕,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 發(fā)布BlueShow v1.0 圖片瀏覽器(類似lightbox)blueshow.js 打包下載

    發(fā)布BlueShow v1.0 圖片瀏覽器(類似lightbox)blueshow.js 打包下載

    發(fā)布BlueShow v1.0 圖片瀏覽器(類似lightbox)blueshow.js 打包下載...
    2007-07-07
  • PhotoSwipe異步動態(tài)加載圖片方法

    PhotoSwipe異步動態(tài)加載圖片方法

    這篇文章主要為大家詳細(xì)介紹了PhotoSwipe異步動態(tài)加載圖片方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • JS中的數(shù)組轉(zhuǎn)變成JSON格式字符串的方法

    JS中的數(shù)組轉(zhuǎn)變成JSON格式字符串的方法

    這篇文章主要介紹了JS中的數(shù)組轉(zhuǎn)變成JSON格式字符串的方法,需要的朋友可以參考下
    2017-05-05
  • ES6的Fetch異步請求的實現(xiàn)方法

    ES6的Fetch異步請求的實現(xiàn)方法

    這篇文章主要介紹了ES6的Fetch異步請求的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • 微信小程序?qū)崿F(xiàn)側(cè)邊分類欄

    微信小程序?qū)崿F(xiàn)側(cè)邊分類欄

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)側(cè)邊分類欄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • html中table數(shù)據(jù)排序的js代碼

    html中table數(shù)據(jù)排序的js代碼

    最近應(yīng)項目要求,需要對table中的數(shù)據(jù)進(jìn)行升序或降序排列,于是研究了一下js,希望對大家有幫助。
    2011-08-08

最新評論

宕昌县| 邯郸县| 临安市| 新密市| 庆元县| 巴塘县| 宜黄县| 宣武区| 双鸭山市| 衡水市| 洪雅县| 清丰县| 寻甸| 青海省| 祁门县| 石棉县| 登封市| 无棣县| 万山特区| 万年县| 锦屏县| 新乐市| 平阴县| 分宜县| 牟定县| 邢台县| 民乐县| 黔东| 涿鹿县| 铁岭县| 汝南县| 莱西市| 博爱县| 许昌县| 印江| 金昌市| 大姚县| 阳信县| 贡嘎县| 镇雄县| 阳春市|