最近的一個項目中,需要將數據用日歷方式顯示,網上有很多的JS插件,后面為了自己能有更大的控制權,決定自己制作一個日歷顯示。如下圖所示:
一、計算數據
1、new一個Calendar類
2、初始化兩個下拉框中的數據,年份與月份
3、初始化要搜索的年份和月份
4、計算得出日歷中每一天的數據信息,包括css、天數
php" id="highlighter_942238">
二、html展示
1、休息天的背景色是不同的,不是當前搜索年月的天數字體顏色也是不同的
2、div中做初始化年份與月份的下拉框的操作,并選中當前要搜索的年月
3、數據已計算好,哪個td屬于哪個tr也已做好,直接將table打印出來即可
三、Calendar類
1、threshold方法,生成日歷的各個邊界值
1)計算這個月總天數
2)計算這個月第一天與最后一天,各是星期幾
3)計算日歷中的第一個日期與最后一個日期
2、caculate方法,計算日歷的天數與樣式
1)將上個月的天數計算出來,本月第一天的星期不是星期天的話,就需要根據上個月的最后一天計算
2)將本月的天數遍歷出來,如果是休息天就加上特殊的css樣式
3)將下個月的天數計算出來,分三種情況,星期日、星期六和工作日
3、draw方法,畫表格,設置table中的tr與td
1)數據將要用table標簽來顯示,所以這里要將各個tr下面的td排列好
2)$index % 7 == 0 計算表格每行的第一列
3)$index % 7 == 6 || $index == ($length-1) 計算每行的最后一列,或$caculate的最后一個數據
4)將中間行添加到$tr中,就是每一行的array
通過本文大家應該知道日歷制作的方法了,那就趁熱打鐵,做一個屬于自己日歷。