JS简单实现移动端日历功能示例
本文实例讲述了JS简单实现移动端日历功能。分享给大家供大家参考,具体如下:
只是一个初步的简单的日历,有是否显示上月和下月部分的选项
<!DOCTYPEhtml>
<html>
<head>
<metacharset="utf-8">
<metaname="viewport"content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0">
<metaname="apple-mobile-web-app-capable"content="yes">
<metaname="apple-mobile-web-app-status-bar-style"content="black">
<metaname="format-detection"content="telephone=no">
<title>移动端日历</title>
<styletype="text/css">
table{
width:100%;
border-collapse:collapse;
}
td{
padding:0;
margin:0;
vertical-align:middle;
text-align:center;
font-size:.7rem;
height:1.5rem;
}
.none{
display:none;
}
</style>
</head>
<body>
<divclass="calendar">
<tableclass="calendar_day">
<tr>
<td>星期日</td>
<td>星期一</td>
<td>星期二</td>
<td>星期三</td>
<td>星期四</td>
<td>星期五</td>
<td>星期六</td>
</tr>
</table>
<tableclass="calendar_date">
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</div>
<scripttype="text/javascript">
vardate=newDate();
calendar(date,{lastandnext:true})
functioncalendar(setDate,options){
if(!options){
options={};
}
options.lastandnext=options.lastandnext||false;
//星期几部分
varcalendar_days=document.getElementsByClassName('calendar_day')[0];
vardays=calendar_days.getElementsByTagName('td');
vardate=newDate(setDate);
vary=date.getFullYear();
varm=date.getMonth();
vard=date.getDate();
//本月
//该月的第一天是星期几
varfirstDay=newDate(y,m,1).getDay();
//console.log(firstDay);
//该月一共多少天
varlastData=newDate(y,m+1,0).getDate();
//console.log(lastData)
//该月的最后一天是星期几
varlastDay=newDate(y,m+1,0).getDay();
//console.log(firstDay)
varcalendar_date=document.getElementsByClassName('calendar_date')[0];
vartds=calendar_date.getElementsByTagName('td');
//console.log(tds)
vared=firstDay;
for(vari=firstDay;i<lastData+firstDay;i++){
//console.log(i-firstDay+1)
tds[i].innerHTML=i-(firstDay)+1;
}
if(options.lastandnext){
////上月
varlastMonthData=newDate(y,m,0).getDate();
for(vari=firstDay-1;i>=0;i--){
tds[i].innerHTML=lastMonthData-(firstDay-i-1);
}
//下月
vark=0;
for(vari=lastData+firstDay;i<tds.length;i++){
k++;
tds[i].innerHTML=k;
}
}
}
</script>
<!--适配-->
<scripttype="text/javascript">
;(function(win,doc){
functionchange(){
doc.documentElement.style.fontSize=20*doc.documentElement.clientWidth/360+'px';
}
change();
win.addEventListener('resize',change,false);
})(window,document);
</script>
</body>
</html>
PS:这里再为大家分享几款本站的在线日期工具供大家参考:
在线万年历日历:
http://tools.jb51.net/bianmin/wannianli
网页万年历日历:
http://tools.jb51.net/bianmin/webwannianli
在线万年历黄历flash版:
http://tools.jb51.net/bianmin/flashwnl
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript时间与日期操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。