//easydate.js
$(document).ready(function(){
var curr_date = new Date();
var curr_year = curr_date.getFullYear();
var curr_month = curr_date.getMonth();
var easydate;
var easydate_table;
function easydate_reset_func(year,month){
curr_date = new Date();
if(year != undefined){
curr_date.setFullYear(year);
}
if(month != undefined){
curr_date.setMonth(month);
}
easydate = {
curr_year:curr_date.getFullYear(),
curr_month:curr_date.getMonth(),
curr_week:curr_date.getDay(),
first_week:function(){
curr_date.setDate(1);
return curr_date.getDay();
},
total_day:function(){
curr_date.setMonth(easydate.curr_month+1);
curr_date.setDate(0);
return curr_date.getDate();
},
total_week:function(){
var total_week_day = easydate.curr_week+easydate.total_day();
return Math.ceil(total_week_day/7);
}
};
}
function easydate_table_func(){
easydate_table = {
year:undefined,
month:undefined,
month_year_title:function(){
var month_year_title ="<tr id='easydate_month_year' class='month_year'>";
month_year_title += "<td id='easydate_last_year'><<</td>";
month_year_title += "<td id='easydate_last_month'><</td>";
month_year_title += "<td id='current_year'></td>";
month_year_title += "<td id='current_month'></td>";
month_year_title += "<td></td>";
month_year_title += "<td id='easydate_next_month'>></td>";
month_year_title += "<td id='easydate_next_year'>>></td>";
month_year_title+="</tr>";
return month_year_title;
},
week_title:function(){
var week_title ="<tr class='week'>";
week_title += "<td>周日</td>";
week_title += "<td>周一</td>";
week_title += "<td>周二</td>";
week_title += "<td>周三</td>";
week_title += "<td>周四</td>";
week_title += "<td>周五</td>";
week_title += "<td>周六</td>";
week_title+="</tr>";
return week_title;
},
footer_title:function(){
var footer_title ="<tr id='easydate_footer'>";
footer_title += "<td></td>";
footer_title += "<td></td>";
footer_title += "<td></td>";
footer_title += "<td></td>";
footer_title += "<td></td>";
footer_title += "<td>今天</td>";
footer_title += "<td>确定</td>";
footer_title+="</tr>";
return footer_title;
},
month_date_table:function(){
var week = 0;
var start_week = 0;
var first_week = easydate.first_week();
var total_day = easydate.total_day();
var total_week = easydate.total_week();
var start_month_day = 1;
var month_date_str = "<table class='easydate'>";
month_date_str += easydate_table.month_year_title();
month_date_str += easydate_table.week_title();
for(week=0;week<total_week;week++){
month_date_str += "<tr>";
for(start_week=0;start_week<7;start_week++){
var week_date = '';
if(start_month_day>total_day){
curr_date.setDate(start_month_day);
week_date = curr_date.getDate();
easydate_reset_func(easydate_table.year,easydate_table.month);
start_month_day++;
}else if(week==0 && start_week>=first_week){
week_date = start_month_day;
start_month_day++;
}else if(week==0){
var last_date = start_week-first_week+1;
curr_date.setDate(last_date);
week_date = curr_date.getDate();
easydate_reset_func(easydate_table.year,easydate_table.month);
}else{
week_date = start_month_day;
start_month_day++;
}
month_date_str += "<td>"+week_date+"</td>";
}
month_date_str += "</tr>";
}
month_date_str += easydate_table.footer_title();
month_date_str += "</table>";
return month_date_str;
},
show_month:function(){
var show_div = "<div id='easydate'>"+easydate_table.month_date_table()+"</div>";
return show_div;
},
next_month:function(){
$("#easydate").html(easydate_table.month_date_table());
}
};
}
function init(){
easydate_reset_func();
easydate_table_func();
$("#date").html(easydate_table.show_month());
}
init();
});
//easydate.css
.easydate{
border-collapse: separate;
border-right: 1px solid #dfedfc;
border-top: 1px solid #dfedfc;
}
.easydate tbody{
isplay: table-row-group;
vertical-align: middle;
border-color: inherit;
}
.easydate tr{
display: table-row;
vertical-align: inherit;
border-color: inherit;
}
.easydate .week td{
background: #dfedfc;
color:#5198e1;
}
.easydate tr td{
width: 50px;
padding: 10px 0;
text-align: center;
}
.easydate tr td{
border-left: 1px solid #dfedfc;
border-bottom: 1px solid #dfedfc;
color:#5198e1;
text-align: center;
cursor:pointer;
}
//html
<div id="date"></div>