項目中需要做個打卡的模塊。里面有個模塊需要返回當前這個星期從星期日到星期六的日期,如下圖:
我是通過 moment.js 的 moment().day() 實現這個效果的,它的說明如下圖:
關於這個插件,更多其它方法可以看它的官網。
解決方案的js核心代碼如下:
function getWeekDay(){ var nowD = Number(moment().day()); //今天星期幾 var startD = Number(moment().day(0).format('D')); //本周第一天的日期 var endD = Number(moment().day(0).add(6, 'days').format('D')); //本周最后一天的日期 var dayArray = []; for(var d=startD;d<=endD;d++){ dayArray.push(d);//將當前這個星期的日期存入數組 } //循環把日期顯示 $(".js_date_d").each(function () { var thisIndex = $(this).index() $(this).find(".js_day").text(dayArray[thisIndex]); if(thisIndex<nowD){ $(this).addClass("past") //過去添加樣式 past }else if(thisIndex===nowD){ $(this).addClass("current") //今天添加樣式 current }else{ $(this).addClass("future") //未來添加樣式 future } }) }
html代碼截圖如下: