js 小日历 格子布局

var that = this
var NewDate = util .NewDate (new Date() )
var m = NewDate .month
var Y = NewDate .year
var d = NewDate . day

//console.log(d)
var dayString = Y + '/' + m + '/' + d
//console.log(dayString)
//当月的天数
var currentDayNum = new Date (Y , m , 0 ).getDate ()
//console.log(currentDayNum)
//今天星期几
var currentDayWeek = currentObj .getUTCDay () + 1
//console.log(currentDayWeek)
var result = currentDayWeek - (d % 7 - 1 );
//console.log(result)
var firstKey = result <= 0 ? 7 + result : result ;
//console.log(firstKey)
//上个月的天数
let RcurrentDayNum = new Date (Y , m - 1 , 0 ).getDate ()
//console.log(RcurrentDayNum)
//下个月天数
let TcurrentDayNum = new Date (Y , m * 1 + 1 * 1 , 0 ).getDate ()
//console.log(TcurrentDayNum)
// console.log(m)

var str = new Date ( Y + "/" +m + "/" + '01' );
// 当前年份
var year = str .getFullYear ();
// 获取月份第一天是周几 周日是0
var day = str .getDay ();
// 获取当前月份的天数
var days = new Date (year , m , 0 ).getDate ();
// 要减去开头的这几天
var first = 0 ;
day == 0 ? first = 1 : first = 8 - day ;
days = days - first ;
//应该渲染的格子
let num = ( 1 * 1 + Math .ceil (days / 7 ))* 7

var currentDayList = []
var f = 0
for ( var i = 0 ; i < num ; i ++) {
let data = []
if (i < firstKey - 1 ) {
currentDayList [i ] = {
"type" : "R" ,
"num" : RcurrentDayNum - (firstKey - 2 ) + i ,
"index" : i .toString ()[ 1 ] ? i : '0' + i
}
} else {
if (f < currentDayNum ) {
currentDayList [i ] = {
"type" : "N" ,
"num" : f + 1 ,
"index" : i .toString ()[ 1 ] ? i : '0' + i
}
f = currentDayList [i ].num
} else if (f >= currentDayNum ) {
//console.log(currentDayNum + firstKey - 1)
currentDayList [i ] = {
"type" : "R" ,
"num" : i - currentDayNum - firstKey + 2 ,
"index" : i .toString ()[ 1 ] ? i : '0' + i
}
}
}
}

猜你喜欢

转载自blog.csdn.net/qinlulucsdn/article/details/80437461