欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js實現(xiàn)簽到日歷

 更新時間:2022年08月29日 08:36:26   作者:向陽而生,靜待余生  
這篇文章主要為大家詳細(xì)介紹了js實現(xiàn)簽到日歷,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了js實現(xiàn)簽到日歷的具體代碼,供大家參考,具體內(nèi)容如下

wxml代碼

<view class="boxMain" style="height:{{dateList.length>35?'805rpx':'730rpx'}}">
? ? <view class="calendarHeader">
? ? ? ? <view>本月已簽到<text>{{recordList.length}}</text>天</view>
? ? </view>
? ? <view class="calendarChange">
? ? ? ? <view class="calendarChangeLeftRight" catchtap="initDateList" data-month="{{chooseMonth-1}}">
? ? ? ? ? ? <image mode="widthFix" src="{{static}}left_arrow.png"></image>
? ? ? ? </view> ? ? ? ? ? ? ? ?
? ? ? ? <text>{{chooseYear}}年{{chooseMonth+1}}月</text>
? ? ? ? <view class="calendarChangeLeftRight" catchtap="initDateList" data-month="{{chooseMonth+1}}">
? ? ? ? ? ? <image mode="widthFix" src="{{static}}right_arrow.png"></image>
? ? ? ? </view>
? ? </view>
? ? <view class="calendarContent">
? ? ? ? <view class="calendarWeek">
? ? ? ? ? ? <text>日</text>
? ? ? ? ? ? <text>一</text>
? ? ? ? ? ? <text>二</text>
? ? ? ? ? ? <text>三</text>
? ? ? ? ? ? <text>四</text>
? ? ? ? ? ? <text>五</text>
? ? ? ? ? ? <text>六</text>
? ? ? ? </view>
? ? ? ? <view class="calendarDays">
? ? ? ? ? ? <view wx:for="{{dateList}}" wx:key="index" wx:for-item="dateItem">
? ? ? ? ? ? ? ? <view style="color:{{dateItem.type=='current'?'#ffffff':(dateItem.type=='before'?'#979797':(dateItem.type=='selected'?'#FE7458':''))}};background-color:{{ dateItem.type=='current'?'#FE7458':(dateItem.type=='before'?'#F8F8FA':(dateItem.type=='selected'?'#ffdcd5':'')) }}">
? ? ? ? ? ? ? ? ? ? {{dateItem.day}}
? ? ? ? ? ? ? ? </view> ? ? ?
? ? ? ? ? ? </view>
? ? ? ? </view>
? ? </view>
</view>

js代碼:

const app = getApp()
const http = require('../../config/api.js');
Page({
? data: {
? ? static: app.data.static,
? ? recordList: [],
? ? totalReward: {},
? ? dateList: [],
? ? chooseYear: new Date().getFullYear(),
? ? chooseMonth: new Date().getMonth(),
? ? currentDay: new Date().getDate(),
? ? dayNumsByMonth: null
? },
? onLoad() {
? ? this.initDateList(); //初始化日歷
? },
? initDateList: function (e) {
? ? let that = this;
?
? ? let chooseMonth = that.data.chooseMonth;
? ? let chooseYear = that.data.chooseYear;
?
? ? let currentDate = new Date();
? ? let currentYear = currentDate.getFullYear();
? ? let currentMonth = currentDate.getMonth();
?
? ? if (e) {
? ? ? chooseMonth = e.currentTarget.dataset.month;
? ? ? if (chooseMonth >= 12) {
? ? ? ? chooseMonth = chooseMonth - 12;
? ? ? ? chooseYear = chooseYear + 1;
? ? ? } else if (chooseMonth < 0) {
? ? ? ? chooseMonth = chooseMonth + 12;
? ? ? ? chooseYear = chooseYear - 1;
? ? ? } else {
? ? ? ? chooseMonth = chooseMonth;
? ? ? }
? ? ? let monthCount = (currentYear - chooseYear) * 12 + currentMonth - chooseMonth;
? ? ? if (monthCount > 0 && Math.abs(monthCount) > 6) {
? ? ? ? wx.showToast({
? ? ? ? ? title: '往前最多查看六個月',
? ? ? ? ? icon: 'none',
? ? ? ? ? duration: 1500
? ? ? ? })
?
? ? ? ? return
? ? ? } else if (monthCount < 0 && Math.abs(monthCount) > 1) {
? ? ? ? wx.showToast({
? ? ? ? ? title: '往后最多查看一個月',
? ? ? ? ? icon: 'none',
? ? ? ? ? duration: 1500
? ? ? ? })
? ? ? ? return
? ? ? }
? ? }
?
? ? that.setData({
? ? ? chooseMonth: chooseMonth,
? ? ? chooseYear: chooseYear
? ? })
? ? var dateList = [];
?
? ? let firstDayWeek = new Date(that.data.chooseYear, that.data.chooseMonth, 1).getDay();
? ? let dayNumsByMonth = new Date(that.data.chooseYear, that.data.chooseMonth + 1, 0).getDate();
? ? that.setData({
? ? ? dayNumsByMonth: dayNumsByMonth
? ? })
?
? ? for (let i = 0; i < 43; i++) {
? ? ? let day = i - firstDayWeek + 1;
? ? ? if (day > dayNumsByMonth && (i == 35 || i == 42)) {
? ? ? ? that.setData({
? ? ? ? ? dateList: dateList
? ? ? ? });
? ? ? ? return
? ? ? }
? ? ? dateList.push({
? ? ? ? 'year': '',
? ? ? ? 'month': '',
? ? ? ? 'day': '',
? ? ? ? 'type': '',
? ? ? })
?
? ? ? if (day > 0 && day <= dayNumsByMonth) {
? ? ? ? dateList[i].year = that.data.chooseYear;
? ? ? ? dateList[i].month = that.isTen(that.data.chooseMonth + 1);
? ? ? ? dateList[i].day = that.isTen(day);
? ? ? ? if (that.data.chooseYear == currentYear && that.data.chooseMonth == currentMonth) {
?
? ? ? ? ? if (day < that.data.currentDay) {
? ? ? ? ? ? dateList[i].type = 'before';
? ? ? ? ? } else if (day > that.data.currentDay) {
? ? ? ? ? ? dateList[i].type = 'after';
? ? ? ? ? } else {
? ? ? ? ? ? dateList[i].type = 'current'
? ? ? ? ? }
? ? ? ? ??
? ? ? ? } else if (that.data.chooseYear < currentYear || (that.data.chooseYear == currentYear && that.data.chooseMonth < currentMonth)) {
? ? ? ? ? dateList[i].type = 'before';
? ? ? ? ?
? ? ? ? } else {
? ? ? ? ? dateList[i].type = 'after';
? ? ? ? }
? ? ? }
? ? }
? },
? isTen: function (v) {
? ? return v >= 10 ? v : `0${v}`
? }
});

wxss代碼

.boxMain {
? background-color: #fff;
? margin: 36rpx 30rpx 22rpx 30rpx;
? border-radius: 10rpx;
? padding: 0 20rpx;
? display: flex;
? flex-direction: column;
}
?
.boxMain .calendarHeader {
? display: flex;
? justify-content: space-between;
? color: #333333;
? font-size: 28rpx;
? margin-top: 40rpx;
? padding: 0 4rpx;
}
?
.boxMain .calendarHeader view text {
? color: #FE7458;
? padding: 0 6rpx;
}
?
.boxMain .calendarHeader view:last-child {
? font-size: 24rpx;
}
?
.boxMain .calendarChange {
? display: flex;
? padding: 0 50rpx;
? align-items: center;
? justify-content: space-between;
? background-color: #F8F8FA;
? border-radius: 25rpx;
? height: 50rpx;
? line-height: 50rpx;
? font-size: 24rpx;
? text-align: center;
? margin: 25rpx 0;
}
.boxMain .calendarChange .calendarChangeLeftRight{
? width: 50rpx;
? height: 50rpx;
? display: flex;
? flex-direction: column;
? justify-content: center;
}
.boxMain .calendarChange image{
? width: 12rpx;
? margin: 0 auto;
}
.boxMain .calendarContent .calendarWeek{
? font-size: 26rpx;
? display: flex; ? ?
? justify-content: space-between;
}
.boxMain .calendarContent .calendarWeek text{
? width: 14%;
? height: 40rpx;
? text-align: center;
}
.boxMain .calendarContent .calendarDays{
? font-size: 26rpx;
? display: flex;
? justify-content: space-between;
? flex-wrap:wrap;
? align-items: center;
? margin-top: 47rpx;
}
.boxMain .calendarContent .calendarDays>view{
? width: 14%;
? text-align: center;
? display: block; ? ?
? margin-bottom: 32rpx;
? height: 46rpx;
? line-height: 46rpx;
}
.boxMain .calendarContent .calendarDays>view>view{
? width: 46rpx;
? height: 46rpx;
? margin: 0 auto;
? border-radius: 50%;
}
.boxMain .calendarContent .calendarDays .box{
? margin-top: -10rpx;
}
.boxMain .calendarContent .calendarDays .box image{
? width: 42rpx;
}
.boxMain .calendarContent .calendarDays .box text{
? float: left;
? margin-top: -20rpx;
? padding-left: 4rpx;
? color: #FE7458;
}

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

相關(guān)文章

  • ES6關(guān)于Promise的用法詳解

    ES6關(guān)于Promise的用法詳解

    本篇文章主要介紹了ES6關(guān)于Promise的用法詳解,詳細(xì)的介紹了Promise的三種狀態(tài)和方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • js控制href內(nèi)容的連接內(nèi)容的變化示例

    js控制href內(nèi)容的連接內(nèi)容的變化示例

    這篇文章主要介紹了使用js控制href內(nèi)容的連接內(nèi)容的變化,需要的朋友可以參考下
    2014-04-04
  • 微信小程序全局配置之tabBar實戰(zhàn)案例

    微信小程序全局配置之tabBar實戰(zhàn)案例

    tabBar相對而言用的還是比較多的,但是用起來并沒有難,下面這篇文章主要給大家介紹了關(guān)于微信小程序全局配置之tabBar的相關(guān)資料,文中通過圖文以及示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Javascript 變量作用域 兩個可能會被忽略的小特性

    Javascript 變量作用域 兩個可能會被忽略的小特性

    關(guān)于Javascript,大家肯定都很熟悉啦,對于有編程經(jīng)驗的朋友來說,Javascript很快就能上手,不過關(guān)于JS的變量作用域,還是有一點差別的。
    2010-03-03
  • Javascript 顏色漸變效果的實現(xiàn)代碼

    Javascript 顏色漸變效果的實現(xiàn)代碼

    在搭建博主博客的時候,尋思著做一些效果,看到菜單,就想是不是可以做一下顏色的漸變,增加一點動態(tài)的感覺。有個jquery的插件,效果相當(dāng)不錯,不過博主還是打算自立更生寫一下,看看能不能實現(xiàn)
    2013-10-10
  • Firebug 字幕文件JSON地址獲取代碼

    Firebug 字幕文件JSON地址獲取代碼

    俗話說,自己動手豐衣足食。直接拿Firebug找到字幕文件地址,下載下來看到是JSON格式的,隨即想到直接用JS輸出字符串就可以轉(zhuǎn)換到srt字幕。
    2009-10-10
  • JS正則匹配中文的方法示例

    JS正則匹配中文的方法示例

    這篇文章主要介紹了JS正則匹配中文的方法,結(jié)合具體實例形式分析了JS針對中文的匹配操作相關(guān)技巧與注意事項,需要的朋友可以參考下
    2017-01-01
  • JavaScript?element的Form表單生成方式

    JavaScript?element的Form表單生成方式

    這篇文章主要介紹了JavaScript?element的Form表單生成方式,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • js點擊返回跳轉(zhuǎn)到指定頁面實現(xiàn)過程

    js點擊返回跳轉(zhuǎn)到指定頁面實現(xiàn)過程

    這篇文章主要為大家詳細(xì)介紹了js點擊返回跳轉(zhuǎn)到指定頁面實現(xiàn)過程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-04-04
  • JS實現(xiàn)的貪吃蛇游戲完整實例

    JS實現(xiàn)的貪吃蛇游戲完整實例

    這篇文章主要介紹了JS實現(xiàn)的貪吃蛇游戲,結(jié)合完整實例形式分析了javascript實現(xiàn)貪吃蛇游戲的具體步驟、原理與相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01

最新評論